KILLED proof of input_SKd8MYdmw1.trs # AProVE Commit ID: aff8ecad908e01718a4c36e68d2e55d5e0f16e15 fuhs 20220216 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (4) CpxTRS (5) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (6) CpxWeightedTrs (7) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxTypedWeightedTrs (9) CompletionProof [UPPER BOUND(ID), 0 ms] (10) CpxTypedWeightedCompleteTrs (11) NarrowingProof [BOTH BOUNDS(ID, ID), 31.3 s] (12) CpxTypedWeightedCompleteTrs (13) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (14) CpxRNTS (15) SimplificationProof [BOTH BOUNDS(ID, ID), 0 ms] (16) CpxRNTS (17) CompletionProof [UPPER BOUND(ID), 0 ms] (18) CpxTypedWeightedCompleteTrs (19) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 30 ms] (20) CpxRNTS (21) CpxTrsToCdtProof [UPPER BOUND(ID), 100 ms] (22) CdtProblem (23) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (24) CdtProblem (25) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 80 ms] (26) CdtProblem (27) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (28) CdtProblem (29) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 89 ms] (30) CdtProblem (31) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (32) CdtProblem (33) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 105 ms] (34) CdtProblem (35) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (36) CdtProblem (37) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 79 ms] (38) CdtProblem (39) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (40) CdtProblem (41) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 86 ms] (42) CdtProblem (43) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (44) CdtProblem (45) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 92 ms] (46) CdtProblem (47) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 9 ms] (48) CdtProblem (49) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 98 ms] (50) CdtProblem (51) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (52) CdtProblem (53) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 118 ms] (54) CdtProblem (55) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 13 ms] (56) CdtProblem (57) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 93 ms] (58) CdtProblem (59) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (60) CdtProblem (61) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 52 ms] (62) CdtProblem (63) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (64) CdtProblem (65) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 107 ms] (66) CdtProblem (67) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 8 ms] (68) CdtProblem (69) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 50 ms] (70) CdtProblem (71) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 9 ms] (72) CdtProblem (73) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 39 ms] (74) CdtProblem (75) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (76) CdtProblem (77) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 39 ms] (78) CdtProblem (79) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (80) CdtProblem (81) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 8 ms] (82) CdtProblem (83) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (84) CdtProblem (85) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 59 ms] (86) CdtProblem (87) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (88) CdtProblem (89) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 32 ms] (90) CdtProblem (91) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (92) CdtProblem (93) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (94) CdtProblem (95) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 5 ms] (96) CdtProblem (97) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 52 ms] (98) CdtProblem (99) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (100) CdtProblem (101) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 30 ms] (102) CdtProblem (103) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 2 ms] (104) CdtProblem (105) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 53 ms] (106) CdtProblem (107) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (108) CdtProblem (109) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 130 ms] (110) CdtProblem (111) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (112) CdtProblem (113) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 27 ms] (114) CdtProblem (115) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (116) CdtProblem (117) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 88 ms] (118) CdtProblem (119) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (120) CdtProblem (121) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 247 ms] (122) CdtProblem (123) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CdtProblem (125) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (126) CdtProblem (127) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 155 ms] (128) CdtProblem (129) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 14 ms] (130) CdtProblem (131) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (132) CdtProblem (133) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 343 ms] (134) CdtProblem (135) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 17 ms] (136) CdtProblem (137) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 22 ms] (138) CdtProblem (139) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 453 ms] (140) CdtProblem (141) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 44 ms] (142) CdtProblem (143) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 328 ms] (144) CdtProblem (145) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 39 ms] (146) CdtProblem (147) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 56 ms] (148) CdtProblem ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__U101(tt, N, XS) -> a__fst(a__splitAt(mark(N), mark(XS))) a__U11(tt, N, XS) -> a__snd(a__splitAt(mark(N), mark(XS))) a__U21(tt, X) -> mark(X) a__U31(tt, N) -> mark(N) a__U41(tt, N) -> cons(mark(N), natsFrom(s(N))) a__U51(tt, N, XS) -> a__head(a__afterNth(mark(N), mark(XS))) a__U61(tt, Y) -> mark(Y) a__U71(tt, XS) -> pair(nil, mark(XS)) a__U81(tt, N, X, XS) -> a__U82(a__splitAt(mark(N), mark(XS)), X) a__U82(pair(YS, ZS), X) -> pair(cons(mark(X), YS), mark(ZS)) a__U91(tt, XS) -> mark(XS) a__afterNth(N, XS) -> a__U11(a__and(a__isNatural(N), isLNat(XS)), N, XS) a__and(tt, X) -> mark(X) a__fst(pair(X, Y)) -> a__U21(a__and(a__isLNat(X), isLNat(Y)), X) a__head(cons(N, XS)) -> a__U31(a__and(a__isNatural(N), isLNat(XS)), N) a__isLNat(nil) -> tt a__isLNat(afterNth(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isLNat(cons(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isLNat(fst(V1)) -> a__isPLNat(V1) a__isLNat(natsFrom(V1)) -> a__isNatural(V1) a__isLNat(snd(V1)) -> a__isPLNat(V1) a__isLNat(tail(V1)) -> a__isLNat(V1) a__isLNat(take(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isNatural(0) -> tt a__isNatural(head(V1)) -> a__isLNat(V1) a__isNatural(s(V1)) -> a__isNatural(V1) a__isNatural(sel(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isPLNat(pair(V1, V2)) -> a__and(a__isLNat(V1), isLNat(V2)) a__isPLNat(splitAt(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__natsFrom(N) -> a__U41(a__isNatural(N), N) a__sel(N, XS) -> a__U51(a__and(a__isNatural(N), isLNat(XS)), N, XS) a__snd(pair(X, Y)) -> a__U61(a__and(a__isLNat(X), isLNat(Y)), Y) a__splitAt(0, XS) -> a__U71(a__isLNat(XS), XS) a__splitAt(s(N), cons(X, XS)) -> a__U81(a__and(a__isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS) a__tail(cons(N, XS)) -> a__U91(a__and(a__isNatural(N), isLNat(XS)), XS) a__take(N, XS) -> a__U101(a__and(a__isNatural(N), isLNat(XS)), N, XS) mark(U101(X1, X2, X3)) -> a__U101(mark(X1), X2, X3) mark(fst(X)) -> a__fst(mark(X)) mark(splitAt(X1, X2)) -> a__splitAt(mark(X1), mark(X2)) mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) mark(snd(X)) -> a__snd(mark(X)) mark(U21(X1, X2)) -> a__U21(mark(X1), X2) mark(U31(X1, X2)) -> a__U31(mark(X1), X2) mark(U41(X1, X2)) -> a__U41(mark(X1), X2) mark(natsFrom(X)) -> a__natsFrom(mark(X)) mark(U51(X1, X2, X3)) -> a__U51(mark(X1), X2, X3) mark(head(X)) -> a__head(mark(X)) mark(afterNth(X1, X2)) -> a__afterNth(mark(X1), mark(X2)) mark(U61(X1, X2)) -> a__U61(mark(X1), X2) mark(U71(X1, X2)) -> a__U71(mark(X1), X2) mark(U81(X1, X2, X3, X4)) -> a__U81(mark(X1), X2, X3, X4) mark(U82(X1, X2)) -> a__U82(mark(X1), X2) mark(U91(X1, X2)) -> a__U91(mark(X1), X2) mark(and(X1, X2)) -> a__and(mark(X1), X2) mark(isNatural(X)) -> a__isNatural(X) mark(isLNat(X)) -> a__isLNat(X) mark(isPLNat(X)) -> a__isPLNat(X) mark(tail(X)) -> a__tail(mark(X)) mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) mark(tt) -> tt mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(pair(X1, X2)) -> pair(mark(X1), mark(X2)) mark(nil) -> nil mark(0) -> 0 a__U101(X1, X2, X3) -> U101(X1, X2, X3) a__fst(X) -> fst(X) a__splitAt(X1, X2) -> splitAt(X1, X2) a__U11(X1, X2, X3) -> U11(X1, X2, X3) a__snd(X) -> snd(X) a__U21(X1, X2) -> U21(X1, X2) a__U31(X1, X2) -> U31(X1, X2) a__U41(X1, X2) -> U41(X1, X2) a__natsFrom(X) -> natsFrom(X) a__U51(X1, X2, X3) -> U51(X1, X2, X3) a__head(X) -> head(X) a__afterNth(X1, X2) -> afterNth(X1, X2) a__U61(X1, X2) -> U61(X1, X2) a__U71(X1, X2) -> U71(X1, X2) a__U81(X1, X2, X3, X4) -> U81(X1, X2, X3, X4) a__U82(X1, X2) -> U82(X1, X2) a__U91(X1, X2) -> U91(X1, X2) a__and(X1, X2) -> and(X1, X2) a__isNatural(X) -> isNatural(X) a__isLNat(X) -> isLNat(X) a__isPLNat(X) -> isPLNat(X) a__tail(X) -> tail(X) a__take(X1, X2) -> take(X1, X2) a__sel(X1, X2) -> sel(X1, X2) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (2) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__U101(tt, N, XS) -> a__fst(a__splitAt(mark(N), mark(XS))) a__U11(tt, N, XS) -> a__snd(a__splitAt(mark(N), mark(XS))) a__U21(tt, X) -> mark(X) a__U31(tt, N) -> mark(N) a__U41(tt, N) -> cons(mark(N), natsFrom(s(N))) a__U51(tt, N, XS) -> a__head(a__afterNth(mark(N), mark(XS))) a__U61(tt, Y) -> mark(Y) a__U71(tt, XS) -> pair(nil, mark(XS)) a__U81(tt, N, X, XS) -> a__U82(a__splitAt(mark(N), mark(XS)), X) a__U82(pair(YS, ZS), X) -> pair(cons(mark(X), YS), mark(ZS)) a__U91(tt, XS) -> mark(XS) a__afterNth(N, XS) -> a__U11(a__and(a__isNatural(N), isLNat(XS)), N, XS) a__and(tt, X) -> mark(X) a__fst(pair(X, Y)) -> a__U21(a__and(a__isLNat(X), isLNat(Y)), X) a__head(cons(N, XS)) -> a__U31(a__and(a__isNatural(N), isLNat(XS)), N) a__isLNat(nil) -> tt a__isLNat(afterNth(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isLNat(cons(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isLNat(fst(V1)) -> a__isPLNat(V1) a__isLNat(natsFrom(V1)) -> a__isNatural(V1) a__isLNat(snd(V1)) -> a__isPLNat(V1) a__isLNat(tail(V1)) -> a__isLNat(V1) a__isLNat(take(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isNatural(0') -> tt a__isNatural(head(V1)) -> a__isLNat(V1) a__isNatural(s(V1)) -> a__isNatural(V1) a__isNatural(sel(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isPLNat(pair(V1, V2)) -> a__and(a__isLNat(V1), isLNat(V2)) a__isPLNat(splitAt(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__natsFrom(N) -> a__U41(a__isNatural(N), N) a__sel(N, XS) -> a__U51(a__and(a__isNatural(N), isLNat(XS)), N, XS) a__snd(pair(X, Y)) -> a__U61(a__and(a__isLNat(X), isLNat(Y)), Y) a__splitAt(0', XS) -> a__U71(a__isLNat(XS), XS) a__splitAt(s(N), cons(X, XS)) -> a__U81(a__and(a__isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS) a__tail(cons(N, XS)) -> a__U91(a__and(a__isNatural(N), isLNat(XS)), XS) a__take(N, XS) -> a__U101(a__and(a__isNatural(N), isLNat(XS)), N, XS) mark(U101(X1, X2, X3)) -> a__U101(mark(X1), X2, X3) mark(fst(X)) -> a__fst(mark(X)) mark(splitAt(X1, X2)) -> a__splitAt(mark(X1), mark(X2)) mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) mark(snd(X)) -> a__snd(mark(X)) mark(U21(X1, X2)) -> a__U21(mark(X1), X2) mark(U31(X1, X2)) -> a__U31(mark(X1), X2) mark(U41(X1, X2)) -> a__U41(mark(X1), X2) mark(natsFrom(X)) -> a__natsFrom(mark(X)) mark(U51(X1, X2, X3)) -> a__U51(mark(X1), X2, X3) mark(head(X)) -> a__head(mark(X)) mark(afterNth(X1, X2)) -> a__afterNth(mark(X1), mark(X2)) mark(U61(X1, X2)) -> a__U61(mark(X1), X2) mark(U71(X1, X2)) -> a__U71(mark(X1), X2) mark(U81(X1, X2, X3, X4)) -> a__U81(mark(X1), X2, X3, X4) mark(U82(X1, X2)) -> a__U82(mark(X1), X2) mark(U91(X1, X2)) -> a__U91(mark(X1), X2) mark(and(X1, X2)) -> a__and(mark(X1), X2) mark(isNatural(X)) -> a__isNatural(X) mark(isLNat(X)) -> a__isLNat(X) mark(isPLNat(X)) -> a__isPLNat(X) mark(tail(X)) -> a__tail(mark(X)) mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) mark(tt) -> tt mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(pair(X1, X2)) -> pair(mark(X1), mark(X2)) mark(nil) -> nil mark(0') -> 0' a__U101(X1, X2, X3) -> U101(X1, X2, X3) a__fst(X) -> fst(X) a__splitAt(X1, X2) -> splitAt(X1, X2) a__U11(X1, X2, X3) -> U11(X1, X2, X3) a__snd(X) -> snd(X) a__U21(X1, X2) -> U21(X1, X2) a__U31(X1, X2) -> U31(X1, X2) a__U41(X1, X2) -> U41(X1, X2) a__natsFrom(X) -> natsFrom(X) a__U51(X1, X2, X3) -> U51(X1, X2, X3) a__head(X) -> head(X) a__afterNth(X1, X2) -> afterNth(X1, X2) a__U61(X1, X2) -> U61(X1, X2) a__U71(X1, X2) -> U71(X1, X2) a__U81(X1, X2, X3, X4) -> U81(X1, X2, X3, X4) a__U82(X1, X2) -> U82(X1, X2) a__U91(X1, X2) -> U91(X1, X2) a__and(X1, X2) -> and(X1, X2) a__isNatural(X) -> isNatural(X) a__isLNat(X) -> isLNat(X) a__isPLNat(X) -> isPLNat(X) a__tail(X) -> tail(X) a__take(X1, X2) -> take(X1, X2) a__sel(X1, X2) -> sel(X1, X2) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (3) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (4) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__U101(tt, N, XS) -> a__fst(a__splitAt(mark(N), mark(XS))) a__U11(tt, N, XS) -> a__snd(a__splitAt(mark(N), mark(XS))) a__U21(tt, X) -> mark(X) a__U31(tt, N) -> mark(N) a__U41(tt, N) -> cons(mark(N), natsFrom(s(N))) a__U51(tt, N, XS) -> a__head(a__afterNth(mark(N), mark(XS))) a__U61(tt, Y) -> mark(Y) a__U71(tt, XS) -> pair(nil, mark(XS)) a__U81(tt, N, X, XS) -> a__U82(a__splitAt(mark(N), mark(XS)), X) a__U82(pair(YS, ZS), X) -> pair(cons(mark(X), YS), mark(ZS)) a__U91(tt, XS) -> mark(XS) a__afterNth(N, XS) -> a__U11(a__and(a__isNatural(N), isLNat(XS)), N, XS) a__and(tt, X) -> mark(X) a__fst(pair(X, Y)) -> a__U21(a__and(a__isLNat(X), isLNat(Y)), X) a__head(cons(N, XS)) -> a__U31(a__and(a__isNatural(N), isLNat(XS)), N) a__isLNat(nil) -> tt a__isLNat(afterNth(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isLNat(cons(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isLNat(fst(V1)) -> a__isPLNat(V1) a__isLNat(natsFrom(V1)) -> a__isNatural(V1) a__isLNat(snd(V1)) -> a__isPLNat(V1) a__isLNat(tail(V1)) -> a__isLNat(V1) a__isLNat(take(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isNatural(0) -> tt a__isNatural(head(V1)) -> a__isLNat(V1) a__isNatural(s(V1)) -> a__isNatural(V1) a__isNatural(sel(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__isPLNat(pair(V1, V2)) -> a__and(a__isLNat(V1), isLNat(V2)) a__isPLNat(splitAt(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) a__natsFrom(N) -> a__U41(a__isNatural(N), N) a__sel(N, XS) -> a__U51(a__and(a__isNatural(N), isLNat(XS)), N, XS) a__snd(pair(X, Y)) -> a__U61(a__and(a__isLNat(X), isLNat(Y)), Y) a__splitAt(0, XS) -> a__U71(a__isLNat(XS), XS) a__splitAt(s(N), cons(X, XS)) -> a__U81(a__and(a__isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS) a__tail(cons(N, XS)) -> a__U91(a__and(a__isNatural(N), isLNat(XS)), XS) a__take(N, XS) -> a__U101(a__and(a__isNatural(N), isLNat(XS)), N, XS) mark(U101(X1, X2, X3)) -> a__U101(mark(X1), X2, X3) mark(fst(X)) -> a__fst(mark(X)) mark(splitAt(X1, X2)) -> a__splitAt(mark(X1), mark(X2)) mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) mark(snd(X)) -> a__snd(mark(X)) mark(U21(X1, X2)) -> a__U21(mark(X1), X2) mark(U31(X1, X2)) -> a__U31(mark(X1), X2) mark(U41(X1, X2)) -> a__U41(mark(X1), X2) mark(natsFrom(X)) -> a__natsFrom(mark(X)) mark(U51(X1, X2, X3)) -> a__U51(mark(X1), X2, X3) mark(head(X)) -> a__head(mark(X)) mark(afterNth(X1, X2)) -> a__afterNth(mark(X1), mark(X2)) mark(U61(X1, X2)) -> a__U61(mark(X1), X2) mark(U71(X1, X2)) -> a__U71(mark(X1), X2) mark(U81(X1, X2, X3, X4)) -> a__U81(mark(X1), X2, X3, X4) mark(U82(X1, X2)) -> a__U82(mark(X1), X2) mark(U91(X1, X2)) -> a__U91(mark(X1), X2) mark(and(X1, X2)) -> a__and(mark(X1), X2) mark(isNatural(X)) -> a__isNatural(X) mark(isLNat(X)) -> a__isLNat(X) mark(isPLNat(X)) -> a__isPLNat(X) mark(tail(X)) -> a__tail(mark(X)) mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) mark(tt) -> tt mark(cons(X1, X2)) -> cons(mark(X1), X2) mark(s(X)) -> s(mark(X)) mark(pair(X1, X2)) -> pair(mark(X1), mark(X2)) mark(nil) -> nil mark(0) -> 0 a__U101(X1, X2, X3) -> U101(X1, X2, X3) a__fst(X) -> fst(X) a__splitAt(X1, X2) -> splitAt(X1, X2) a__U11(X1, X2, X3) -> U11(X1, X2, X3) a__snd(X) -> snd(X) a__U21(X1, X2) -> U21(X1, X2) a__U31(X1, X2) -> U31(X1, X2) a__U41(X1, X2) -> U41(X1, X2) a__natsFrom(X) -> natsFrom(X) a__U51(X1, X2, X3) -> U51(X1, X2, X3) a__head(X) -> head(X) a__afterNth(X1, X2) -> afterNth(X1, X2) a__U61(X1, X2) -> U61(X1, X2) a__U71(X1, X2) -> U71(X1, X2) a__U81(X1, X2, X3, X4) -> U81(X1, X2, X3, X4) a__U82(X1, X2) -> U82(X1, X2) a__U91(X1, X2) -> U91(X1, X2) a__and(X1, X2) -> and(X1, X2) a__isNatural(X) -> isNatural(X) a__isLNat(X) -> isLNat(X) a__isPLNat(X) -> isPLNat(X) a__tail(X) -> tail(X) a__take(X1, X2) -> take(X1, X2) a__sel(X1, X2) -> sel(X1, X2) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (5) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (6) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: a__U101(tt, N, XS) -> a__fst(a__splitAt(mark(N), mark(XS))) [1] a__U11(tt, N, XS) -> a__snd(a__splitAt(mark(N), mark(XS))) [1] a__U21(tt, X) -> mark(X) [1] a__U31(tt, N) -> mark(N) [1] a__U41(tt, N) -> cons(mark(N), natsFrom(s(N))) [1] a__U51(tt, N, XS) -> a__head(a__afterNth(mark(N), mark(XS))) [1] a__U61(tt, Y) -> mark(Y) [1] a__U71(tt, XS) -> pair(nil, mark(XS)) [1] a__U81(tt, N, X, XS) -> a__U82(a__splitAt(mark(N), mark(XS)), X) [1] a__U82(pair(YS, ZS), X) -> pair(cons(mark(X), YS), mark(ZS)) [1] a__U91(tt, XS) -> mark(XS) [1] a__afterNth(N, XS) -> a__U11(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] a__and(tt, X) -> mark(X) [1] a__fst(pair(X, Y)) -> a__U21(a__and(a__isLNat(X), isLNat(Y)), X) [1] a__head(cons(N, XS)) -> a__U31(a__and(a__isNatural(N), isLNat(XS)), N) [1] a__isLNat(nil) -> tt [1] a__isLNat(afterNth(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isLNat(cons(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isLNat(fst(V1)) -> a__isPLNat(V1) [1] a__isLNat(natsFrom(V1)) -> a__isNatural(V1) [1] a__isLNat(snd(V1)) -> a__isPLNat(V1) [1] a__isLNat(tail(V1)) -> a__isLNat(V1) [1] a__isLNat(take(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isNatural(0) -> tt [1] a__isNatural(head(V1)) -> a__isLNat(V1) [1] a__isNatural(s(V1)) -> a__isNatural(V1) [1] a__isNatural(sel(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isPLNat(pair(V1, V2)) -> a__and(a__isLNat(V1), isLNat(V2)) [1] a__isPLNat(splitAt(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__natsFrom(N) -> a__U41(a__isNatural(N), N) [1] a__sel(N, XS) -> a__U51(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] a__snd(pair(X, Y)) -> a__U61(a__and(a__isLNat(X), isLNat(Y)), Y) [1] a__splitAt(0, XS) -> a__U71(a__isLNat(XS), XS) [1] a__splitAt(s(N), cons(X, XS)) -> a__U81(a__and(a__isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS) [1] a__tail(cons(N, XS)) -> a__U91(a__and(a__isNatural(N), isLNat(XS)), XS) [1] a__take(N, XS) -> a__U101(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] mark(U101(X1, X2, X3)) -> a__U101(mark(X1), X2, X3) [1] mark(fst(X)) -> a__fst(mark(X)) [1] mark(splitAt(X1, X2)) -> a__splitAt(mark(X1), mark(X2)) [1] mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) [1] mark(snd(X)) -> a__snd(mark(X)) [1] mark(U21(X1, X2)) -> a__U21(mark(X1), X2) [1] mark(U31(X1, X2)) -> a__U31(mark(X1), X2) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(natsFrom(X)) -> a__natsFrom(mark(X)) [1] mark(U51(X1, X2, X3)) -> a__U51(mark(X1), X2, X3) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(afterNth(X1, X2)) -> a__afterNth(mark(X1), mark(X2)) [1] mark(U61(X1, X2)) -> a__U61(mark(X1), X2) [1] mark(U71(X1, X2)) -> a__U71(mark(X1), X2) [1] mark(U81(X1, X2, X3, X4)) -> a__U81(mark(X1), X2, X3, X4) [1] mark(U82(X1, X2)) -> a__U82(mark(X1), X2) [1] mark(U91(X1, X2)) -> a__U91(mark(X1), X2) [1] mark(and(X1, X2)) -> a__and(mark(X1), X2) [1] mark(isNatural(X)) -> a__isNatural(X) [1] mark(isLNat(X)) -> a__isLNat(X) [1] mark(isPLNat(X)) -> a__isPLNat(X) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) [1] mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) [1] mark(tt) -> tt [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(pair(X1, X2)) -> pair(mark(X1), mark(X2)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__U101(X1, X2, X3) -> U101(X1, X2, X3) [1] a__fst(X) -> fst(X) [1] a__splitAt(X1, X2) -> splitAt(X1, X2) [1] a__U11(X1, X2, X3) -> U11(X1, X2, X3) [1] a__snd(X) -> snd(X) [1] a__U21(X1, X2) -> U21(X1, X2) [1] a__U31(X1, X2) -> U31(X1, X2) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__natsFrom(X) -> natsFrom(X) [1] a__U51(X1, X2, X3) -> U51(X1, X2, X3) [1] a__head(X) -> head(X) [1] a__afterNth(X1, X2) -> afterNth(X1, X2) [1] a__U61(X1, X2) -> U61(X1, X2) [1] a__U71(X1, X2) -> U71(X1, X2) [1] a__U81(X1, X2, X3, X4) -> U81(X1, X2, X3, X4) [1] a__U82(X1, X2) -> U82(X1, X2) [1] a__U91(X1, X2) -> U91(X1, X2) [1] a__and(X1, X2) -> and(X1, X2) [1] a__isNatural(X) -> isNatural(X) [1] a__isLNat(X) -> isLNat(X) [1] a__isPLNat(X) -> isPLNat(X) [1] a__tail(X) -> tail(X) [1] a__take(X1, X2) -> take(X1, X2) [1] a__sel(X1, X2) -> sel(X1, X2) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (7) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (8) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__U101(tt, N, XS) -> a__fst(a__splitAt(mark(N), mark(XS))) [1] a__U11(tt, N, XS) -> a__snd(a__splitAt(mark(N), mark(XS))) [1] a__U21(tt, X) -> mark(X) [1] a__U31(tt, N) -> mark(N) [1] a__U41(tt, N) -> cons(mark(N), natsFrom(s(N))) [1] a__U51(tt, N, XS) -> a__head(a__afterNth(mark(N), mark(XS))) [1] a__U61(tt, Y) -> mark(Y) [1] a__U71(tt, XS) -> pair(nil, mark(XS)) [1] a__U81(tt, N, X, XS) -> a__U82(a__splitAt(mark(N), mark(XS)), X) [1] a__U82(pair(YS, ZS), X) -> pair(cons(mark(X), YS), mark(ZS)) [1] a__U91(tt, XS) -> mark(XS) [1] a__afterNth(N, XS) -> a__U11(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] a__and(tt, X) -> mark(X) [1] a__fst(pair(X, Y)) -> a__U21(a__and(a__isLNat(X), isLNat(Y)), X) [1] a__head(cons(N, XS)) -> a__U31(a__and(a__isNatural(N), isLNat(XS)), N) [1] a__isLNat(nil) -> tt [1] a__isLNat(afterNth(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isLNat(cons(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isLNat(fst(V1)) -> a__isPLNat(V1) [1] a__isLNat(natsFrom(V1)) -> a__isNatural(V1) [1] a__isLNat(snd(V1)) -> a__isPLNat(V1) [1] a__isLNat(tail(V1)) -> a__isLNat(V1) [1] a__isLNat(take(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isNatural(0) -> tt [1] a__isNatural(head(V1)) -> a__isLNat(V1) [1] a__isNatural(s(V1)) -> a__isNatural(V1) [1] a__isNatural(sel(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isPLNat(pair(V1, V2)) -> a__and(a__isLNat(V1), isLNat(V2)) [1] a__isPLNat(splitAt(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__natsFrom(N) -> a__U41(a__isNatural(N), N) [1] a__sel(N, XS) -> a__U51(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] a__snd(pair(X, Y)) -> a__U61(a__and(a__isLNat(X), isLNat(Y)), Y) [1] a__splitAt(0, XS) -> a__U71(a__isLNat(XS), XS) [1] a__splitAt(s(N), cons(X, XS)) -> a__U81(a__and(a__isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS) [1] a__tail(cons(N, XS)) -> a__U91(a__and(a__isNatural(N), isLNat(XS)), XS) [1] a__take(N, XS) -> a__U101(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] mark(U101(X1, X2, X3)) -> a__U101(mark(X1), X2, X3) [1] mark(fst(X)) -> a__fst(mark(X)) [1] mark(splitAt(X1, X2)) -> a__splitAt(mark(X1), mark(X2)) [1] mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) [1] mark(snd(X)) -> a__snd(mark(X)) [1] mark(U21(X1, X2)) -> a__U21(mark(X1), X2) [1] mark(U31(X1, X2)) -> a__U31(mark(X1), X2) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(natsFrom(X)) -> a__natsFrom(mark(X)) [1] mark(U51(X1, X2, X3)) -> a__U51(mark(X1), X2, X3) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(afterNth(X1, X2)) -> a__afterNth(mark(X1), mark(X2)) [1] mark(U61(X1, X2)) -> a__U61(mark(X1), X2) [1] mark(U71(X1, X2)) -> a__U71(mark(X1), X2) [1] mark(U81(X1, X2, X3, X4)) -> a__U81(mark(X1), X2, X3, X4) [1] mark(U82(X1, X2)) -> a__U82(mark(X1), X2) [1] mark(U91(X1, X2)) -> a__U91(mark(X1), X2) [1] mark(and(X1, X2)) -> a__and(mark(X1), X2) [1] mark(isNatural(X)) -> a__isNatural(X) [1] mark(isLNat(X)) -> a__isLNat(X) [1] mark(isPLNat(X)) -> a__isPLNat(X) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) [1] mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) [1] mark(tt) -> tt [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(pair(X1, X2)) -> pair(mark(X1), mark(X2)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__U101(X1, X2, X3) -> U101(X1, X2, X3) [1] a__fst(X) -> fst(X) [1] a__splitAt(X1, X2) -> splitAt(X1, X2) [1] a__U11(X1, X2, X3) -> U11(X1, X2, X3) [1] a__snd(X) -> snd(X) [1] a__U21(X1, X2) -> U21(X1, X2) [1] a__U31(X1, X2) -> U31(X1, X2) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__natsFrom(X) -> natsFrom(X) [1] a__U51(X1, X2, X3) -> U51(X1, X2, X3) [1] a__head(X) -> head(X) [1] a__afterNth(X1, X2) -> afterNth(X1, X2) [1] a__U61(X1, X2) -> U61(X1, X2) [1] a__U71(X1, X2) -> U71(X1, X2) [1] a__U81(X1, X2, X3, X4) -> U81(X1, X2, X3, X4) [1] a__U82(X1, X2) -> U82(X1, X2) [1] a__U91(X1, X2) -> U91(X1, X2) [1] a__and(X1, X2) -> and(X1, X2) [1] a__isNatural(X) -> isNatural(X) [1] a__isLNat(X) -> isLNat(X) [1] a__isPLNat(X) -> isPLNat(X) [1] a__tail(X) -> tail(X) [1] a__take(X1, X2) -> take(X1, X2) [1] a__sel(X1, X2) -> sel(X1, X2) [1] The TRS has the following type information: a__U101 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat tt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__fst :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__splitAt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat mark :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U11 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__snd :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U21 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U31 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U41 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat cons :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat natsFrom :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat s :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U51 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__head :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__afterNth :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U61 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U71 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat pair :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat nil :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U81 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U82 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U91 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__and :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isNatural :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat afterNth :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat fst :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isPLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat snd :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat tail :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat take :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat 0 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat head :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat sel :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat splitAt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__natsFrom :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__sel :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat and :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isNatural :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__tail :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__take :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U101 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U11 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U21 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U31 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U41 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U51 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U61 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U71 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U81 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U82 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U91 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isPLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat Rewrite Strategy: INNERMOST ---------------------------------------- (9) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: none (c) The following functions are completely defined: a__and_2 a__isNatural_1 a__afterNth_2 mark_1 a__isLNat_1 a__splitAt_2 a__isPLNat_1 a__tail_1 a__U11_3 a__U71_2 a__take_2 a__sel_2 a__U41_2 a__U91_2 a__head_1 a__U61_2 a__U101_3 a__fst_1 a__U82_2 a__snd_1 a__U31_2 a__U21_2 a__U81_4 a__natsFrom_1 a__U51_3 Due to the following rules being added: none And the following fresh constants: none ---------------------------------------- (10) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__U101(tt, N, XS) -> a__fst(a__splitAt(mark(N), mark(XS))) [1] a__U11(tt, N, XS) -> a__snd(a__splitAt(mark(N), mark(XS))) [1] a__U21(tt, X) -> mark(X) [1] a__U31(tt, N) -> mark(N) [1] a__U41(tt, N) -> cons(mark(N), natsFrom(s(N))) [1] a__U51(tt, N, XS) -> a__head(a__afterNth(mark(N), mark(XS))) [1] a__U61(tt, Y) -> mark(Y) [1] a__U71(tt, XS) -> pair(nil, mark(XS)) [1] a__U81(tt, N, X, XS) -> a__U82(a__splitAt(mark(N), mark(XS)), X) [1] a__U82(pair(YS, ZS), X) -> pair(cons(mark(X), YS), mark(ZS)) [1] a__U91(tt, XS) -> mark(XS) [1] a__afterNth(N, XS) -> a__U11(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] a__and(tt, X) -> mark(X) [1] a__fst(pair(X, Y)) -> a__U21(a__and(a__isLNat(X), isLNat(Y)), X) [1] a__head(cons(N, XS)) -> a__U31(a__and(a__isNatural(N), isLNat(XS)), N) [1] a__isLNat(nil) -> tt [1] a__isLNat(afterNth(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isLNat(cons(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isLNat(fst(V1)) -> a__isPLNat(V1) [1] a__isLNat(natsFrom(V1)) -> a__isNatural(V1) [1] a__isLNat(snd(V1)) -> a__isPLNat(V1) [1] a__isLNat(tail(V1)) -> a__isLNat(V1) [1] a__isLNat(take(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isNatural(0) -> tt [1] a__isNatural(head(V1)) -> a__isLNat(V1) [1] a__isNatural(s(V1)) -> a__isNatural(V1) [1] a__isNatural(sel(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isPLNat(pair(V1, V2)) -> a__and(a__isLNat(V1), isLNat(V2)) [1] a__isPLNat(splitAt(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__natsFrom(N) -> a__U41(a__isNatural(N), N) [1] a__sel(N, XS) -> a__U51(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] a__snd(pair(X, Y)) -> a__U61(a__and(a__isLNat(X), isLNat(Y)), Y) [1] a__splitAt(0, XS) -> a__U71(a__isLNat(XS), XS) [1] a__splitAt(s(N), cons(X, XS)) -> a__U81(a__and(a__isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS) [1] a__tail(cons(N, XS)) -> a__U91(a__and(a__isNatural(N), isLNat(XS)), XS) [1] a__take(N, XS) -> a__U101(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] mark(U101(X1, X2, X3)) -> a__U101(mark(X1), X2, X3) [1] mark(fst(X)) -> a__fst(mark(X)) [1] mark(splitAt(X1, X2)) -> a__splitAt(mark(X1), mark(X2)) [1] mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) [1] mark(snd(X)) -> a__snd(mark(X)) [1] mark(U21(X1, X2)) -> a__U21(mark(X1), X2) [1] mark(U31(X1, X2)) -> a__U31(mark(X1), X2) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(natsFrom(X)) -> a__natsFrom(mark(X)) [1] mark(U51(X1, X2, X3)) -> a__U51(mark(X1), X2, X3) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(afterNth(X1, X2)) -> a__afterNth(mark(X1), mark(X2)) [1] mark(U61(X1, X2)) -> a__U61(mark(X1), X2) [1] mark(U71(X1, X2)) -> a__U71(mark(X1), X2) [1] mark(U81(X1, X2, X3, X4)) -> a__U81(mark(X1), X2, X3, X4) [1] mark(U82(X1, X2)) -> a__U82(mark(X1), X2) [1] mark(U91(X1, X2)) -> a__U91(mark(X1), X2) [1] mark(and(X1, X2)) -> a__and(mark(X1), X2) [1] mark(isNatural(X)) -> a__isNatural(X) [1] mark(isLNat(X)) -> a__isLNat(X) [1] mark(isPLNat(X)) -> a__isPLNat(X) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) [1] mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) [1] mark(tt) -> tt [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(pair(X1, X2)) -> pair(mark(X1), mark(X2)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__U101(X1, X2, X3) -> U101(X1, X2, X3) [1] a__fst(X) -> fst(X) [1] a__splitAt(X1, X2) -> splitAt(X1, X2) [1] a__U11(X1, X2, X3) -> U11(X1, X2, X3) [1] a__snd(X) -> snd(X) [1] a__U21(X1, X2) -> U21(X1, X2) [1] a__U31(X1, X2) -> U31(X1, X2) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__natsFrom(X) -> natsFrom(X) [1] a__U51(X1, X2, X3) -> U51(X1, X2, X3) [1] a__head(X) -> head(X) [1] a__afterNth(X1, X2) -> afterNth(X1, X2) [1] a__U61(X1, X2) -> U61(X1, X2) [1] a__U71(X1, X2) -> U71(X1, X2) [1] a__U81(X1, X2, X3, X4) -> U81(X1, X2, X3, X4) [1] a__U82(X1, X2) -> U82(X1, X2) [1] a__U91(X1, X2) -> U91(X1, X2) [1] a__and(X1, X2) -> and(X1, X2) [1] a__isNatural(X) -> isNatural(X) [1] a__isLNat(X) -> isLNat(X) [1] a__isPLNat(X) -> isPLNat(X) [1] a__tail(X) -> tail(X) [1] a__take(X1, X2) -> take(X1, X2) [1] a__sel(X1, X2) -> sel(X1, X2) [1] The TRS has the following type information: a__U101 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat tt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__fst :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__splitAt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat mark :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U11 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__snd :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U21 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U31 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U41 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat cons :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat natsFrom :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat s :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U51 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__head :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__afterNth :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U61 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U71 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat pair :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat nil :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U81 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U82 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U91 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__and :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isNatural :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat afterNth :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat fst :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isPLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat snd :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat tail :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat take :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat 0 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat head :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat sel :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat splitAt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__natsFrom :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__sel :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat and :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isNatural :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__tail :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__take :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U101 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U11 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U21 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U31 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U41 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U51 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U61 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U71 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U81 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U82 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U91 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isPLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat Rewrite Strategy: INNERMOST ---------------------------------------- (11) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (12) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__U101(tt, N, XS) -> a__fst(a__splitAt(mark(N), mark(XS))) [1] a__U11(tt, N, XS) -> a__snd(a__splitAt(mark(N), mark(XS))) [1] a__U21(tt, X) -> mark(X) [1] a__U31(tt, N) -> mark(N) [1] a__U41(tt, N) -> cons(mark(N), natsFrom(s(N))) [1] a__U51(tt, N, XS) -> a__head(a__afterNth(mark(N), mark(XS))) [1] a__U61(tt, Y) -> mark(Y) [1] a__U71(tt, XS) -> pair(nil, mark(XS)) [1] a__U81(tt, N, X, XS) -> a__U82(a__splitAt(mark(N), mark(XS)), X) [1] a__U82(pair(YS, ZS), X) -> pair(cons(mark(X), YS), mark(ZS)) [1] a__U91(tt, XS) -> mark(XS) [1] a__afterNth(0, XS) -> a__U11(a__and(tt, isLNat(XS)), 0, XS) [2] a__afterNth(head(V1'), XS) -> a__U11(a__and(a__isLNat(V1'), isLNat(XS)), head(V1'), XS) [2] a__afterNth(s(V1''), XS) -> a__U11(a__and(a__isNatural(V1''), isLNat(XS)), s(V1''), XS) [2] a__afterNth(sel(V11, V2'), XS) -> a__U11(a__and(a__and(a__isNatural(V11), isLNat(V2')), isLNat(XS)), sel(V11, V2'), XS) [2] a__afterNth(N, XS) -> a__U11(a__and(isNatural(N), isLNat(XS)), N, XS) [2] a__and(tt, X) -> mark(X) [1] a__fst(pair(nil, Y)) -> a__U21(a__and(tt, isLNat(Y)), nil) [2] a__fst(pair(afterNth(V12, V2''), Y)) -> a__U21(a__and(a__and(a__isNatural(V12), isLNat(V2'')), isLNat(Y)), afterNth(V12, V2'')) [2] a__fst(pair(cons(V13, V21), Y)) -> a__U21(a__and(a__and(a__isNatural(V13), isLNat(V21)), isLNat(Y)), cons(V13, V21)) [2] a__fst(pair(fst(V14), Y)) -> a__U21(a__and(a__isPLNat(V14), isLNat(Y)), fst(V14)) [2] a__fst(pair(natsFrom(V15), Y)) -> a__U21(a__and(a__isNatural(V15), isLNat(Y)), natsFrom(V15)) [2] a__fst(pair(snd(V16), Y)) -> a__U21(a__and(a__isPLNat(V16), isLNat(Y)), snd(V16)) [2] a__fst(pair(tail(V17), Y)) -> a__U21(a__and(a__isLNat(V17), isLNat(Y)), tail(V17)) [2] a__fst(pair(take(V18, V22), Y)) -> a__U21(a__and(a__and(a__isNatural(V18), isLNat(V22)), isLNat(Y)), take(V18, V22)) [2] a__fst(pair(X, Y)) -> a__U21(a__and(isLNat(X), isLNat(Y)), X) [2] a__head(cons(0, XS)) -> a__U31(a__and(tt, isLNat(XS)), 0) [2] a__head(cons(head(V19), XS)) -> a__U31(a__and(a__isLNat(V19), isLNat(XS)), head(V19)) [2] a__head(cons(s(V110), XS)) -> a__U31(a__and(a__isNatural(V110), isLNat(XS)), s(V110)) [2] a__head(cons(sel(V111, V23), XS)) -> a__U31(a__and(a__and(a__isNatural(V111), isLNat(V23)), isLNat(XS)), sel(V111, V23)) [2] a__head(cons(N, XS)) -> a__U31(a__and(isNatural(N), isLNat(XS)), N) [2] a__isLNat(nil) -> tt [1] a__isLNat(afterNth(0, V2)) -> a__and(tt, isLNat(V2)) [2] a__isLNat(afterNth(head(V112), V2)) -> a__and(a__isLNat(V112), isLNat(V2)) [2] a__isLNat(afterNth(s(V113), V2)) -> a__and(a__isNatural(V113), isLNat(V2)) [2] a__isLNat(afterNth(sel(V114, V24), V2)) -> a__and(a__and(a__isNatural(V114), isLNat(V24)), isLNat(V2)) [2] a__isLNat(afterNth(V1, V2)) -> a__and(isNatural(V1), isLNat(V2)) [2] a__isLNat(cons(0, V2)) -> a__and(tt, isLNat(V2)) [2] a__isLNat(cons(head(V115), V2)) -> a__and(a__isLNat(V115), isLNat(V2)) [2] a__isLNat(cons(s(V116), V2)) -> a__and(a__isNatural(V116), isLNat(V2)) [2] a__isLNat(cons(sel(V117, V25), V2)) -> a__and(a__and(a__isNatural(V117), isLNat(V25)), isLNat(V2)) [2] a__isLNat(cons(V1, V2)) -> a__and(isNatural(V1), isLNat(V2)) [2] a__isLNat(fst(V1)) -> a__isPLNat(V1) [1] a__isLNat(natsFrom(V1)) -> a__isNatural(V1) [1] a__isLNat(snd(V1)) -> a__isPLNat(V1) [1] a__isLNat(tail(V1)) -> a__isLNat(V1) [1] a__isLNat(take(0, V2)) -> a__and(tt, isLNat(V2)) [2] a__isLNat(take(head(V118), V2)) -> a__and(a__isLNat(V118), isLNat(V2)) [2] a__isLNat(take(s(V119), V2)) -> a__and(a__isNatural(V119), isLNat(V2)) [2] a__isLNat(take(sel(V120, V26), V2)) -> a__and(a__and(a__isNatural(V120), isLNat(V26)), isLNat(V2)) [2] a__isLNat(take(V1, V2)) -> a__and(isNatural(V1), isLNat(V2)) [2] a__isNatural(0) -> tt [1] a__isNatural(head(V1)) -> a__isLNat(V1) [1] a__isNatural(s(V1)) -> a__isNatural(V1) [1] a__isNatural(sel(0, V2)) -> a__and(tt, isLNat(V2)) [2] a__isNatural(sel(head(V121), V2)) -> a__and(a__isLNat(V121), isLNat(V2)) [2] a__isNatural(sel(s(V122), V2)) -> a__and(a__isNatural(V122), isLNat(V2)) [2] a__isNatural(sel(sel(V123, V27), V2)) -> a__and(a__and(a__isNatural(V123), isLNat(V27)), isLNat(V2)) [2] a__isNatural(sel(V1, V2)) -> a__and(isNatural(V1), isLNat(V2)) [2] a__isPLNat(pair(nil, V2)) -> a__and(tt, isLNat(V2)) [2] a__isPLNat(pair(afterNth(V124, V28), V2)) -> a__and(a__and(a__isNatural(V124), isLNat(V28)), isLNat(V2)) [2] a__isPLNat(pair(cons(V125, V29), V2)) -> a__and(a__and(a__isNatural(V125), isLNat(V29)), isLNat(V2)) [2] a__isPLNat(pair(fst(V126), V2)) -> a__and(a__isPLNat(V126), isLNat(V2)) [2] a__isPLNat(pair(natsFrom(V127), V2)) -> a__and(a__isNatural(V127), isLNat(V2)) [2] a__isPLNat(pair(snd(V128), V2)) -> a__and(a__isPLNat(V128), isLNat(V2)) [2] a__isPLNat(pair(tail(V129), V2)) -> a__and(a__isLNat(V129), isLNat(V2)) [2] a__isPLNat(pair(take(V130, V210), V2)) -> a__and(a__and(a__isNatural(V130), isLNat(V210)), isLNat(V2)) [2] a__isPLNat(pair(V1, V2)) -> a__and(isLNat(V1), isLNat(V2)) [2] a__isPLNat(splitAt(0, V2)) -> a__and(tt, isLNat(V2)) [2] a__isPLNat(splitAt(head(V131), V2)) -> a__and(a__isLNat(V131), isLNat(V2)) [2] a__isPLNat(splitAt(s(V132), V2)) -> a__and(a__isNatural(V132), isLNat(V2)) [2] a__isPLNat(splitAt(sel(V133, V211), V2)) -> a__and(a__and(a__isNatural(V133), isLNat(V211)), isLNat(V2)) [2] a__isPLNat(splitAt(V1, V2)) -> a__and(isNatural(V1), isLNat(V2)) [2] a__natsFrom(0) -> a__U41(tt, 0) [2] a__natsFrom(head(V134)) -> a__U41(a__isLNat(V134), head(V134)) [2] a__natsFrom(s(V135)) -> a__U41(a__isNatural(V135), s(V135)) [2] a__natsFrom(sel(V136, V212)) -> a__U41(a__and(a__isNatural(V136), isLNat(V212)), sel(V136, V212)) [2] a__natsFrom(N) -> a__U41(isNatural(N), N) [2] a__sel(0, XS) -> a__U51(a__and(tt, isLNat(XS)), 0, XS) [2] a__sel(head(V137), XS) -> a__U51(a__and(a__isLNat(V137), isLNat(XS)), head(V137), XS) [2] a__sel(s(V138), XS) -> a__U51(a__and(a__isNatural(V138), isLNat(XS)), s(V138), XS) [2] a__sel(sel(V139, V213), XS) -> a__U51(a__and(a__and(a__isNatural(V139), isLNat(V213)), isLNat(XS)), sel(V139, V213), XS) [2] a__sel(N, XS) -> a__U51(a__and(isNatural(N), isLNat(XS)), N, XS) [2] a__snd(pair(nil, Y)) -> a__U61(a__and(tt, isLNat(Y)), Y) [2] a__snd(pair(afterNth(V140, V214), Y)) -> a__U61(a__and(a__and(a__isNatural(V140), isLNat(V214)), isLNat(Y)), Y) [2] a__snd(pair(cons(V141, V215), Y)) -> a__U61(a__and(a__and(a__isNatural(V141), isLNat(V215)), isLNat(Y)), Y) [2] a__snd(pair(fst(V142), Y)) -> a__U61(a__and(a__isPLNat(V142), isLNat(Y)), Y) [2] a__snd(pair(natsFrom(V143), Y)) -> a__U61(a__and(a__isNatural(V143), isLNat(Y)), Y) [2] a__snd(pair(snd(V144), Y)) -> a__U61(a__and(a__isPLNat(V144), isLNat(Y)), Y) [2] a__snd(pair(tail(V145), Y)) -> a__U61(a__and(a__isLNat(V145), isLNat(Y)), Y) [2] a__snd(pair(take(V146, V216), Y)) -> a__U61(a__and(a__and(a__isNatural(V146), isLNat(V216)), isLNat(Y)), Y) [2] a__snd(pair(X, Y)) -> a__U61(a__and(isLNat(X), isLNat(Y)), Y) [2] a__splitAt(0, nil) -> a__U71(tt, nil) [2] a__splitAt(0, afterNth(V147, V217)) -> a__U71(a__and(a__isNatural(V147), isLNat(V217)), afterNth(V147, V217)) [2] a__splitAt(0, cons(V148, V218)) -> a__U71(a__and(a__isNatural(V148), isLNat(V218)), cons(V148, V218)) [2] a__splitAt(0, fst(V149)) -> a__U71(a__isPLNat(V149), fst(V149)) [2] a__splitAt(0, natsFrom(V150)) -> a__U71(a__isNatural(V150), natsFrom(V150)) [2] a__splitAt(0, snd(V151)) -> a__U71(a__isPLNat(V151), snd(V151)) [2] a__splitAt(0, tail(V152)) -> a__U71(a__isLNat(V152), tail(V152)) [2] a__splitAt(0, take(V153, V219)) -> a__U71(a__and(a__isNatural(V153), isLNat(V219)), take(V153, V219)) [2] a__splitAt(0, XS) -> a__U71(isLNat(XS), XS) [2] a__splitAt(s(0), cons(X, XS)) -> a__U81(a__and(tt, and(isNatural(X), isLNat(XS))), 0, X, XS) [2] a__splitAt(s(head(V154)), cons(X, XS)) -> a__U81(a__and(a__isLNat(V154), and(isNatural(X), isLNat(XS))), head(V154), X, XS) [2] a__splitAt(s(s(V155)), cons(X, XS)) -> a__U81(a__and(a__isNatural(V155), and(isNatural(X), isLNat(XS))), s(V155), X, XS) [2] a__splitAt(s(sel(V156, V220)), cons(X, XS)) -> a__U81(a__and(a__and(a__isNatural(V156), isLNat(V220)), and(isNatural(X), isLNat(XS))), sel(V156, V220), X, XS) [2] a__splitAt(s(N), cons(X, XS)) -> a__U81(a__and(isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS) [2] a__tail(cons(0, XS)) -> a__U91(a__and(tt, isLNat(XS)), XS) [2] a__tail(cons(head(V157), XS)) -> a__U91(a__and(a__isLNat(V157), isLNat(XS)), XS) [2] a__tail(cons(s(V158), XS)) -> a__U91(a__and(a__isNatural(V158), isLNat(XS)), XS) [2] a__tail(cons(sel(V159, V221), XS)) -> a__U91(a__and(a__and(a__isNatural(V159), isLNat(V221)), isLNat(XS)), XS) [2] a__tail(cons(N, XS)) -> a__U91(a__and(isNatural(N), isLNat(XS)), XS) [2] a__take(0, XS) -> a__U101(a__and(tt, isLNat(XS)), 0, XS) [2] a__take(head(V160), XS) -> a__U101(a__and(a__isLNat(V160), isLNat(XS)), head(V160), XS) [2] a__take(s(V161), XS) -> a__U101(a__and(a__isNatural(V161), isLNat(XS)), s(V161), XS) [2] a__take(sel(V162, V222), XS) -> a__U101(a__and(a__and(a__isNatural(V162), isLNat(V222)), isLNat(XS)), sel(V162, V222), XS) [2] a__take(N, XS) -> a__U101(a__and(isNatural(N), isLNat(XS)), N, XS) [2] mark(U101(X1, X2, X3)) -> a__U101(mark(X1), X2, X3) [1] mark(fst(X)) -> a__fst(mark(X)) [1] mark(splitAt(X1, X2)) -> a__splitAt(mark(X1), mark(X2)) [1] mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) [1] mark(snd(X)) -> a__snd(mark(X)) [1] mark(U21(X1, X2)) -> a__U21(mark(X1), X2) [1] mark(U31(X1, X2)) -> a__U31(mark(X1), X2) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(natsFrom(X)) -> a__natsFrom(mark(X)) [1] mark(U51(X1, X2, X3)) -> a__U51(mark(X1), X2, X3) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(afterNth(X1, X2)) -> a__afterNth(mark(X1), mark(X2)) [1] mark(U61(X1, X2)) -> a__U61(mark(X1), X2) [1] mark(U71(X1, X2)) -> a__U71(mark(X1), X2) [1] mark(U81(X1, X2, X3, X4)) -> a__U81(mark(X1), X2, X3, X4) [1] mark(U82(X1, X2)) -> a__U82(mark(X1), X2) [1] mark(U91(X1, X2)) -> a__U91(mark(X1), X2) [1] mark(and(X1, X2)) -> a__and(mark(X1), X2) [1] mark(isNatural(X)) -> a__isNatural(X) [1] mark(isLNat(X)) -> a__isLNat(X) [1] mark(isPLNat(X)) -> a__isPLNat(X) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) [1] mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) [1] mark(tt) -> tt [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(pair(X1, X2)) -> pair(mark(X1), mark(X2)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__U101(X1, X2, X3) -> U101(X1, X2, X3) [1] a__fst(X) -> fst(X) [1] a__splitAt(X1, X2) -> splitAt(X1, X2) [1] a__U11(X1, X2, X3) -> U11(X1, X2, X3) [1] a__snd(X) -> snd(X) [1] a__U21(X1, X2) -> U21(X1, X2) [1] a__U31(X1, X2) -> U31(X1, X2) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__natsFrom(X) -> natsFrom(X) [1] a__U51(X1, X2, X3) -> U51(X1, X2, X3) [1] a__head(X) -> head(X) [1] a__afterNth(X1, X2) -> afterNth(X1, X2) [1] a__U61(X1, X2) -> U61(X1, X2) [1] a__U71(X1, X2) -> U71(X1, X2) [1] a__U81(X1, X2, X3, X4) -> U81(X1, X2, X3, X4) [1] a__U82(X1, X2) -> U82(X1, X2) [1] a__U91(X1, X2) -> U91(X1, X2) [1] a__and(X1, X2) -> and(X1, X2) [1] a__isNatural(X) -> isNatural(X) [1] a__isLNat(X) -> isLNat(X) [1] a__isPLNat(X) -> isPLNat(X) [1] a__tail(X) -> tail(X) [1] a__take(X1, X2) -> take(X1, X2) [1] a__sel(X1, X2) -> sel(X1, X2) [1] The TRS has the following type information: a__U101 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat tt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__fst :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__splitAt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat mark :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U11 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__snd :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U21 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U31 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U41 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat cons :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat natsFrom :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat s :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U51 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__head :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__afterNth :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U61 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U71 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat pair :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat nil :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U81 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U82 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U91 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__and :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isNatural :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat afterNth :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat fst :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isPLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat snd :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat tail :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat take :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat 0 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat head :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat sel :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat splitAt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__natsFrom :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__sel :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat and :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isNatural :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__tail :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__take :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U101 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U11 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U21 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U31 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U41 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U51 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U61 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U71 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U81 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U82 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U91 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isPLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat Rewrite Strategy: INNERMOST ---------------------------------------- (13) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: tt => 2 nil => 1 0 => 0 ---------------------------------------- (14) Obligation: Complexity RNTS consisting of the following rules: a__U101(z, z', z'') -{ 1 }-> a__fst(a__splitAt(mark(N), mark(XS))) :|: z = 2, z'' = XS, z' = N, XS >= 0, N >= 0 a__U101(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U11(z, z', z'') -{ 1 }-> a__snd(a__splitAt(mark(N), mark(XS))) :|: z = 2, z'' = XS, z' = N, XS >= 0, N >= 0 a__U11(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U21(z, z') -{ 1 }-> mark(X) :|: z = 2, z' = X, X >= 0 a__U21(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U31(z, z') -{ 1 }-> mark(N) :|: z = 2, z' = N, N >= 0 a__U31(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U41(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U41(z, z') -{ 1 }-> 1 + mark(N) + (1 + (1 + N)) :|: z = 2, z' = N, N >= 0 a__U51(z, z', z'') -{ 1 }-> a__head(a__afterNth(mark(N), mark(XS))) :|: z = 2, z'' = XS, z' = N, XS >= 0, N >= 0 a__U51(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U61(z, z') -{ 1 }-> mark(Y) :|: z = 2, z' = Y, Y >= 0 a__U61(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U71(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U71(z, z') -{ 1 }-> 1 + 1 + mark(XS) :|: z = 2, z' = XS, XS >= 0 a__U81(z, z', z'', z1) -{ 1 }-> a__U82(a__splitAt(mark(N), mark(XS)), X) :|: z = 2, z'' = X, X >= 0, z' = N, z1 = XS, XS >= 0, N >= 0 a__U81(z, z', z'', z1) -{ 1 }-> 1 + X1 + X2 + X3 + X4 :|: X1 >= 0, z1 = X4, X3 >= 0, X2 >= 0, X4 >= 0, z = X1, z' = X2, z'' = X3 a__U82(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U82(z, z') -{ 1 }-> 1 + (1 + mark(X) + YS) + mark(ZS) :|: z' = X, z = 1 + YS + ZS, YS >= 0, X >= 0, ZS >= 0 a__U91(z, z') -{ 1 }-> mark(XS) :|: z = 2, z' = XS, XS >= 0 a__U91(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(a__isNatural(V1''), 1 + XS), 1 + V1'', XS) :|: z' = XS, V1'' >= 0, z = 1 + V1'', XS >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(a__isLNat(V1'), 1 + XS), 1 + V1', XS) :|: z' = XS, z = 1 + V1', XS >= 0, V1' >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(a__and(a__isNatural(V11), 1 + V2'), 1 + XS), 1 + V11 + V2', XS) :|: z' = XS, V11 >= 0, z = 1 + V11 + V2', V2' >= 0, XS >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(2, 1 + XS), 0, XS) :|: z' = XS, z = 0, XS >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(1 + N, 1 + XS), N, XS) :|: z' = XS, z = N, XS >= 0, N >= 0 a__afterNth(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__and(z, z') -{ 1 }-> mark(X) :|: z = 2, z' = X, X >= 0 a__and(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__fst(z) -{ 2 }-> a__U21(a__and(a__isPLNat(V14), 1 + Y), 1 + V14) :|: V14 >= 0, Y >= 0, z = 1 + (1 + V14) + Y a__fst(z) -{ 2 }-> a__U21(a__and(a__isPLNat(V16), 1 + Y), 1 + V16) :|: Y >= 0, z = 1 + (1 + V16) + Y, V16 >= 0 a__fst(z) -{ 2 }-> a__U21(a__and(a__isNatural(V15), 1 + Y), 1 + V15) :|: z = 1 + (1 + V15) + Y, Y >= 0, V15 >= 0 a__fst(z) -{ 2 }-> a__U21(a__and(a__isLNat(V17), 1 + Y), 1 + V17) :|: z = 1 + (1 + V17) + Y, Y >= 0, V17 >= 0 a__fst(z) -{ 2 }-> a__U21(a__and(a__and(a__isNatural(V12), 1 + V2''), 1 + Y), 1 + V12 + V2'') :|: V2'' >= 0, Y >= 0, V12 >= 0, z = 1 + (1 + V12 + V2'') + Y a__fst(z) -{ 2 }-> a__U21(a__and(a__and(a__isNatural(V13), 1 + V21), 1 + Y), 1 + V13 + V21) :|: V21 >= 0, V13 >= 0, Y >= 0, z = 1 + (1 + V13 + V21) + Y a__fst(z) -{ 2 }-> a__U21(a__and(a__and(a__isNatural(V18), 1 + V22), 1 + Y), 1 + V18 + V22) :|: V18 >= 0, Y >= 0, V22 >= 0, z = 1 + (1 + V18 + V22) + Y a__fst(z) -{ 2 }-> a__U21(a__and(2, 1 + Y), 1) :|: Y >= 0, z = 1 + 1 + Y a__fst(z) -{ 2 }-> a__U21(a__and(1 + X, 1 + Y), X) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__fst(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__head(z) -{ 2 }-> a__U31(a__and(a__isNatural(V110), 1 + XS), 1 + V110) :|: z = 1 + (1 + V110) + XS, V110 >= 0, XS >= 0 a__head(z) -{ 2 }-> a__U31(a__and(a__isLNat(V19), 1 + XS), 1 + V19) :|: V19 >= 0, z = 1 + (1 + V19) + XS, XS >= 0 a__head(z) -{ 2 }-> a__U31(a__and(a__and(a__isNatural(V111), 1 + V23), 1 + XS), 1 + V111 + V23) :|: V23 >= 0, V111 >= 0, z = 1 + (1 + V111 + V23) + XS, XS >= 0 a__head(z) -{ 2 }-> a__U31(a__and(2, 1 + XS), 0) :|: z = 1 + 0 + XS, XS >= 0 a__head(z) -{ 2 }-> a__U31(a__and(1 + N, 1 + XS), N) :|: z = 1 + N + XS, XS >= 0, N >= 0 a__head(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isLNat(z) -{ 1 }-> a__isPLNat(V1) :|: z = 1 + V1, V1 >= 0 a__isLNat(z) -{ 1 }-> a__isNatural(V1) :|: z = 1 + V1, V1 >= 0 a__isLNat(z) -{ 1 }-> a__isLNat(V1) :|: z = 1 + V1, V1 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isNatural(V113), 1 + V2) :|: V2 >= 0, z = 1 + (1 + V113) + V2, V113 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isNatural(V116), 1 + V2) :|: z = 1 + (1 + V116) + V2, V2 >= 0, V116 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isNatural(V119), 1 + V2) :|: V2 >= 0, V119 >= 0, z = 1 + (1 + V119) + V2 a__isLNat(z) -{ 2 }-> a__and(a__isLNat(V112), 1 + V2) :|: z = 1 + (1 + V112) + V2, V2 >= 0, V112 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isLNat(V115), 1 + V2) :|: z = 1 + (1 + V115) + V2, V2 >= 0, V115 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isLNat(V118), 1 + V2) :|: V118 >= 0, z = 1 + (1 + V118) + V2, V2 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V114), 1 + V24), 1 + V2) :|: V114 >= 0, V24 >= 0, z = 1 + (1 + V114 + V24) + V2, V2 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V117), 1 + V25), 1 + V2) :|: V25 >= 0, V117 >= 0, V2 >= 0, z = 1 + (1 + V117 + V25) + V2 a__isLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V120), 1 + V26), 1 + V2) :|: V120 >= 0, z = 1 + (1 + V120 + V26) + V2, V2 >= 0, V26 >= 0 a__isLNat(z) -{ 2 }-> a__and(2, 1 + V2) :|: V2 >= 0, z = 1 + 0 + V2 a__isLNat(z) -{ 2 }-> a__and(1 + V1, 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isLNat(z) -{ 1 }-> 2 :|: z = 1 a__isLNat(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isNatural(z) -{ 1 }-> a__isNatural(V1) :|: z = 1 + V1, V1 >= 0 a__isNatural(z) -{ 1 }-> a__isLNat(V1) :|: z = 1 + V1, V1 >= 0 a__isNatural(z) -{ 2 }-> a__and(a__isNatural(V122), 1 + V2) :|: z = 1 + (1 + V122) + V2, V2 >= 0, V122 >= 0 a__isNatural(z) -{ 2 }-> a__and(a__isLNat(V121), 1 + V2) :|: V121 >= 0, z = 1 + (1 + V121) + V2, V2 >= 0 a__isNatural(z) -{ 2 }-> a__and(a__and(a__isNatural(V123), 1 + V27), 1 + V2) :|: V2 >= 0, z = 1 + (1 + V123 + V27) + V2, V27 >= 0, V123 >= 0 a__isNatural(z) -{ 2 }-> a__and(2, 1 + V2) :|: V2 >= 0, z = 1 + 0 + V2 a__isNatural(z) -{ 2 }-> a__and(1 + V1, 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatural(z) -{ 1 }-> 2 :|: z = 0 a__isNatural(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isPLNat(z) -{ 2 }-> a__and(a__isPLNat(V126), 1 + V2) :|: V2 >= 0, V126 >= 0, z = 1 + (1 + V126) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__isPLNat(V128), 1 + V2) :|: V128 >= 0, V2 >= 0, z = 1 + (1 + V128) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__isNatural(V127), 1 + V2) :|: V127 >= 0, V2 >= 0, z = 1 + (1 + V127) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__isNatural(V132), 1 + V2) :|: z = 1 + (1 + V132) + V2, V2 >= 0, V132 >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__isLNat(V129), 1 + V2) :|: z = 1 + (1 + V129) + V2, V2 >= 0, V129 >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__isLNat(V131), 1 + V2) :|: V131 >= 0, V2 >= 0, z = 1 + (1 + V131) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V124), 1 + V28), 1 + V2) :|: V124 >= 0, V28 >= 0, V2 >= 0, z = 1 + (1 + V124 + V28) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V125), 1 + V29), 1 + V2) :|: z = 1 + (1 + V125 + V29) + V2, V125 >= 0, V29 >= 0, V2 >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V130), 1 + V210), 1 + V2) :|: V130 >= 0, z = 1 + (1 + V130 + V210) + V2, V2 >= 0, V210 >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V133), 1 + V211), 1 + V2) :|: z = 1 + (1 + V133 + V211) + V2, V2 >= 0, V211 >= 0, V133 >= 0 a__isPLNat(z) -{ 2 }-> a__and(2, 1 + V2) :|: z = 1 + 1 + V2, V2 >= 0 a__isPLNat(z) -{ 2 }-> a__and(2, 1 + V2) :|: V2 >= 0, z = 1 + 0 + V2 a__isPLNat(z) -{ 2 }-> a__and(1 + V1, 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isPLNat(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__natsFrom(z) -{ 2 }-> a__U41(a__isNatural(V135), 1 + V135) :|: V135 >= 0, z = 1 + V135 a__natsFrom(z) -{ 2 }-> a__U41(a__isLNat(V134), 1 + V134) :|: z = 1 + V134, V134 >= 0 a__natsFrom(z) -{ 2 }-> a__U41(a__and(a__isNatural(V136), 1 + V212), 1 + V136 + V212) :|: z = 1 + V136 + V212, V136 >= 0, V212 >= 0 a__natsFrom(z) -{ 2 }-> a__U41(2, 0) :|: z = 0 a__natsFrom(z) -{ 2 }-> a__U41(1 + N, N) :|: z = N, N >= 0 a__natsFrom(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__sel(z, z') -{ 2 }-> a__U51(a__and(a__isNatural(V138), 1 + XS), 1 + V138, XS) :|: z' = XS, V138 >= 0, z = 1 + V138, XS >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(a__isLNat(V137), 1 + XS), 1 + V137, XS) :|: z' = XS, z = 1 + V137, V137 >= 0, XS >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(a__and(a__isNatural(V139), 1 + V213), 1 + XS), 1 + V139 + V213, XS) :|: z' = XS, V213 >= 0, V139 >= 0, z = 1 + V139 + V213, XS >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(2, 1 + XS), 0, XS) :|: z' = XS, z = 0, XS >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(1 + N, 1 + XS), N, XS) :|: z' = XS, z = N, XS >= 0, N >= 0 a__sel(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__snd(z) -{ 2 }-> a__U61(a__and(a__isPLNat(V142), 1 + Y), Y) :|: Y >= 0, z = 1 + (1 + V142) + Y, V142 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__isPLNat(V144), 1 + Y), Y) :|: Y >= 0, z = 1 + (1 + V144) + Y, V144 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__isNatural(V143), 1 + Y), Y) :|: z = 1 + (1 + V143) + Y, Y >= 0, V143 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__isLNat(V145), 1 + Y), Y) :|: z = 1 + (1 + V145) + Y, V145 >= 0, Y >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__and(a__isNatural(V140), 1 + V214), 1 + Y), Y) :|: Y >= 0, V140 >= 0, z = 1 + (1 + V140 + V214) + Y, V214 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__and(a__isNatural(V141), 1 + V215), 1 + Y), Y) :|: V141 >= 0, z = 1 + (1 + V141 + V215) + Y, Y >= 0, V215 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__and(a__isNatural(V146), 1 + V216), 1 + Y), Y) :|: Y >= 0, V146 >= 0, V216 >= 0, z = 1 + (1 + V146 + V216) + Y a__snd(z) -{ 2 }-> a__U61(a__and(2, 1 + Y), Y) :|: Y >= 0, z = 1 + 1 + Y a__snd(z) -{ 2 }-> a__U61(a__and(1 + X, 1 + Y), Y) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__snd(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__splitAt(z, z') -{ 2 }-> a__U81(a__and(a__isNatural(V155), 1 + (1 + X) + (1 + XS)), 1 + V155, X, XS) :|: z = 1 + (1 + V155), V155 >= 0, z' = 1 + X + XS, X >= 0, XS >= 0 a__splitAt(z, z') -{ 2 }-> a__U81(a__and(a__isLNat(V154), 1 + (1 + X) + (1 + XS)), 1 + V154, X, XS) :|: z' = 1 + X + XS, X >= 0, V154 >= 0, XS >= 0, z = 1 + (1 + V154) a__splitAt(z, z') -{ 2 }-> a__U81(a__and(a__and(a__isNatural(V156), 1 + V220), 1 + (1 + X) + (1 + XS)), 1 + V156 + V220, X, XS) :|: V220 >= 0, z' = 1 + X + XS, V156 >= 0, X >= 0, z = 1 + (1 + V156 + V220), XS >= 0 a__splitAt(z, z') -{ 2 }-> a__U81(a__and(2, 1 + (1 + X) + (1 + XS)), 0, X, XS) :|: z = 1 + 0, z' = 1 + X + XS, X >= 0, XS >= 0 a__splitAt(z, z') -{ 2 }-> a__U81(a__and(1 + N, 1 + (1 + X) + (1 + XS)), N, X, XS) :|: z = 1 + N, z' = 1 + X + XS, X >= 0, XS >= 0, N >= 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__isPLNat(V149), 1 + V149) :|: V149 >= 0, z' = 1 + V149, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__isPLNat(V151), 1 + V151) :|: V151 >= 0, z' = 1 + V151, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__isNatural(V150), 1 + V150) :|: V150 >= 0, z = 0, z' = 1 + V150 a__splitAt(z, z') -{ 2 }-> a__U71(a__isLNat(V152), 1 + V152) :|: V152 >= 0, z' = 1 + V152, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__and(a__isNatural(V147), 1 + V217), 1 + V147 + V217) :|: z' = 1 + V147 + V217, V217 >= 0, V147 >= 0, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__and(a__isNatural(V148), 1 + V218), 1 + V148 + V218) :|: z' = 1 + V148 + V218, V148 >= 0, V218 >= 0, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__and(a__isNatural(V153), 1 + V219), 1 + V153 + V219) :|: z' = 1 + V153 + V219, z = 0, V219 >= 0, V153 >= 0 a__splitAt(z, z') -{ 2 }-> a__U71(2, 1) :|: z' = 1, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(1 + XS, XS) :|: z' = XS, z = 0, XS >= 0 a__splitAt(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__tail(z) -{ 2 }-> a__U91(a__and(a__isNatural(V158), 1 + XS), XS) :|: z = 1 + (1 + V158) + XS, V158 >= 0, XS >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(a__isLNat(V157), 1 + XS), XS) :|: V157 >= 0, z = 1 + (1 + V157) + XS, XS >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(a__and(a__isNatural(V159), 1 + V221), 1 + XS), XS) :|: z = 1 + (1 + V159 + V221) + XS, V159 >= 0, V221 >= 0, XS >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(2, 1 + XS), XS) :|: z = 1 + 0 + XS, XS >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(1 + N, 1 + XS), XS) :|: z = 1 + N + XS, XS >= 0, N >= 0 a__tail(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__take(z, z') -{ 2 }-> a__U101(a__and(a__isNatural(V161), 1 + XS), 1 + V161, XS) :|: z = 1 + V161, z' = XS, V161 >= 0, XS >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(a__isLNat(V160), 1 + XS), 1 + V160, XS) :|: z = 1 + V160, z' = XS, V160 >= 0, XS >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(a__and(a__isNatural(V162), 1 + V222), 1 + XS), 1 + V162 + V222, XS) :|: z' = XS, V162 >= 0, z = 1 + V162 + V222, XS >= 0, V222 >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(2, 1 + XS), 0, XS) :|: z' = XS, z = 0, XS >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(1 + N, 1 + XS), N, XS) :|: z' = XS, z = N, XS >= 0, N >= 0 a__take(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 mark(z) -{ 1 }-> a__take(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__tail(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__splitAt(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__snd(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__sel(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__natsFrom(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isPLNat(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNatural(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isLNat(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__head(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__fst(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__and(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__afterNth(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U91(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U82(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U81(mark(X1), X2, X3, X4) :|: X1 >= 0, z = 1 + X1 + X2 + X3 + X4, X3 >= 0, X2 >= 0, X4 >= 0 mark(z) -{ 1 }-> a__U71(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U61(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U51(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> a__U41(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U31(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U21(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U11(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> a__U101(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 mark(z) -{ 1 }-> 1 + mark(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> 1 + mark(X1) + X2 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> 1 + mark(X1) + mark(X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 ---------------------------------------- (15) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (16) Obligation: Complexity RNTS consisting of the following rules: a__U101(z, z', z'') -{ 1 }-> a__fst(a__splitAt(mark(z'), mark(z''))) :|: z = 2, z'' >= 0, z' >= 0 a__U101(z, z', z'') -{ 1 }-> 1 + z + z' + z'' :|: z >= 0, z'' >= 0, z' >= 0 a__U11(z, z', z'') -{ 1 }-> a__snd(a__splitAt(mark(z'), mark(z''))) :|: z = 2, z'' >= 0, z' >= 0 a__U11(z, z', z'') -{ 1 }-> 1 + z + z' + z'' :|: z >= 0, z'' >= 0, z' >= 0 a__U21(z, z') -{ 1 }-> mark(z') :|: z = 2, z' >= 0 a__U21(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__U31(z, z') -{ 1 }-> mark(z') :|: z = 2, z' >= 0 a__U31(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__U41(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__U41(z, z') -{ 1 }-> 1 + mark(z') + (1 + (1 + z')) :|: z = 2, z' >= 0 a__U51(z, z', z'') -{ 1 }-> a__head(a__afterNth(mark(z'), mark(z''))) :|: z = 2, z'' >= 0, z' >= 0 a__U51(z, z', z'') -{ 1 }-> 1 + z + z' + z'' :|: z >= 0, z'' >= 0, z' >= 0 a__U61(z, z') -{ 1 }-> mark(z') :|: z = 2, z' >= 0 a__U61(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__U71(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__U71(z, z') -{ 1 }-> 1 + 1 + mark(z') :|: z = 2, z' >= 0 a__U81(z, z', z'', z1) -{ 1 }-> a__U82(a__splitAt(mark(z'), mark(z1)), z'') :|: z = 2, z'' >= 0, z1 >= 0, z' >= 0 a__U81(z, z', z'', z1) -{ 1 }-> 1 + z + z' + z'' + z1 :|: z >= 0, z'' >= 0, z' >= 0, z1 >= 0 a__U82(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__U82(z, z') -{ 1 }-> 1 + (1 + mark(z') + YS) + mark(ZS) :|: z = 1 + YS + ZS, YS >= 0, z' >= 0, ZS >= 0 a__U91(z, z') -{ 1 }-> mark(z') :|: z = 2, z' >= 0 a__U91(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(a__isNatural(z - 1), 1 + z'), 1 + (z - 1), z') :|: z - 1 >= 0, z' >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(a__isLNat(z - 1), 1 + z'), 1 + (z - 1), z') :|: z' >= 0, z - 1 >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(a__and(a__isNatural(V11), 1 + V2'), 1 + z'), 1 + V11 + V2', z') :|: V11 >= 0, z = 1 + V11 + V2', V2' >= 0, z' >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(2, 1 + z'), 0, z') :|: z = 0, z' >= 0 a__afterNth(z, z') -{ 2 }-> a__U11(a__and(1 + z, 1 + z'), z, z') :|: z' >= 0, z >= 0 a__afterNth(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__and(z, z') -{ 1 }-> mark(z') :|: z = 2, z' >= 0 a__and(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__fst(z) -{ 2 }-> a__U21(a__and(a__isPLNat(V14), 1 + Y), 1 + V14) :|: V14 >= 0, Y >= 0, z = 1 + (1 + V14) + Y a__fst(z) -{ 2 }-> a__U21(a__and(a__isPLNat(V16), 1 + Y), 1 + V16) :|: Y >= 0, z = 1 + (1 + V16) + Y, V16 >= 0 a__fst(z) -{ 2 }-> a__U21(a__and(a__isNatural(V15), 1 + Y), 1 + V15) :|: z = 1 + (1 + V15) + Y, Y >= 0, V15 >= 0 a__fst(z) -{ 2 }-> a__U21(a__and(a__isLNat(V17), 1 + Y), 1 + V17) :|: z = 1 + (1 + V17) + Y, Y >= 0, V17 >= 0 a__fst(z) -{ 2 }-> a__U21(a__and(a__and(a__isNatural(V12), 1 + V2''), 1 + Y), 1 + V12 + V2'') :|: V2'' >= 0, Y >= 0, V12 >= 0, z = 1 + (1 + V12 + V2'') + Y a__fst(z) -{ 2 }-> a__U21(a__and(a__and(a__isNatural(V13), 1 + V21), 1 + Y), 1 + V13 + V21) :|: V21 >= 0, V13 >= 0, Y >= 0, z = 1 + (1 + V13 + V21) + Y a__fst(z) -{ 2 }-> a__U21(a__and(a__and(a__isNatural(V18), 1 + V22), 1 + Y), 1 + V18 + V22) :|: V18 >= 0, Y >= 0, V22 >= 0, z = 1 + (1 + V18 + V22) + Y a__fst(z) -{ 2 }-> a__U21(a__and(2, 1 + (z - 2)), 1) :|: z - 2 >= 0 a__fst(z) -{ 2 }-> a__U21(a__and(1 + X, 1 + Y), X) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__fst(z) -{ 1 }-> 1 + z :|: z >= 0 a__head(z) -{ 2 }-> a__U31(a__and(a__isNatural(V110), 1 + XS), 1 + V110) :|: z = 1 + (1 + V110) + XS, V110 >= 0, XS >= 0 a__head(z) -{ 2 }-> a__U31(a__and(a__isLNat(V19), 1 + XS), 1 + V19) :|: V19 >= 0, z = 1 + (1 + V19) + XS, XS >= 0 a__head(z) -{ 2 }-> a__U31(a__and(a__and(a__isNatural(V111), 1 + V23), 1 + XS), 1 + V111 + V23) :|: V23 >= 0, V111 >= 0, z = 1 + (1 + V111 + V23) + XS, XS >= 0 a__head(z) -{ 2 }-> a__U31(a__and(2, 1 + (z - 1)), 0) :|: z - 1 >= 0 a__head(z) -{ 2 }-> a__U31(a__and(1 + N, 1 + XS), N) :|: z = 1 + N + XS, XS >= 0, N >= 0 a__head(z) -{ 1 }-> 1 + z :|: z >= 0 a__isLNat(z) -{ 1 }-> a__isPLNat(z - 1) :|: z - 1 >= 0 a__isLNat(z) -{ 1 }-> a__isNatural(z - 1) :|: z - 1 >= 0 a__isLNat(z) -{ 1 }-> a__isLNat(z - 1) :|: z - 1 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isNatural(V113), 1 + V2) :|: V2 >= 0, z = 1 + (1 + V113) + V2, V113 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isNatural(V116), 1 + V2) :|: z = 1 + (1 + V116) + V2, V2 >= 0, V116 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isNatural(V119), 1 + V2) :|: V2 >= 0, V119 >= 0, z = 1 + (1 + V119) + V2 a__isLNat(z) -{ 2 }-> a__and(a__isLNat(V112), 1 + V2) :|: z = 1 + (1 + V112) + V2, V2 >= 0, V112 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isLNat(V115), 1 + V2) :|: z = 1 + (1 + V115) + V2, V2 >= 0, V115 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__isLNat(V118), 1 + V2) :|: V118 >= 0, z = 1 + (1 + V118) + V2, V2 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V114), 1 + V24), 1 + V2) :|: V114 >= 0, V24 >= 0, z = 1 + (1 + V114 + V24) + V2, V2 >= 0 a__isLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V117), 1 + V25), 1 + V2) :|: V25 >= 0, V117 >= 0, V2 >= 0, z = 1 + (1 + V117 + V25) + V2 a__isLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V120), 1 + V26), 1 + V2) :|: V120 >= 0, z = 1 + (1 + V120 + V26) + V2, V2 >= 0, V26 >= 0 a__isLNat(z) -{ 2 }-> a__and(2, 1 + (z - 1)) :|: z - 1 >= 0 a__isLNat(z) -{ 2 }-> a__and(1 + V1, 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isLNat(z) -{ 1 }-> 2 :|: z = 1 a__isLNat(z) -{ 1 }-> 1 + z :|: z >= 0 a__isNatural(z) -{ 1 }-> a__isNatural(z - 1) :|: z - 1 >= 0 a__isNatural(z) -{ 1 }-> a__isLNat(z - 1) :|: z - 1 >= 0 a__isNatural(z) -{ 2 }-> a__and(a__isNatural(V122), 1 + V2) :|: z = 1 + (1 + V122) + V2, V2 >= 0, V122 >= 0 a__isNatural(z) -{ 2 }-> a__and(a__isLNat(V121), 1 + V2) :|: V121 >= 0, z = 1 + (1 + V121) + V2, V2 >= 0 a__isNatural(z) -{ 2 }-> a__and(a__and(a__isNatural(V123), 1 + V27), 1 + V2) :|: V2 >= 0, z = 1 + (1 + V123 + V27) + V2, V27 >= 0, V123 >= 0 a__isNatural(z) -{ 2 }-> a__and(2, 1 + (z - 1)) :|: z - 1 >= 0 a__isNatural(z) -{ 2 }-> a__and(1 + V1, 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatural(z) -{ 1 }-> 2 :|: z = 0 a__isNatural(z) -{ 1 }-> 1 + z :|: z >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__isPLNat(V126), 1 + V2) :|: V2 >= 0, V126 >= 0, z = 1 + (1 + V126) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__isPLNat(V128), 1 + V2) :|: V128 >= 0, V2 >= 0, z = 1 + (1 + V128) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__isNatural(V127), 1 + V2) :|: V127 >= 0, V2 >= 0, z = 1 + (1 + V127) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__isNatural(V132), 1 + V2) :|: z = 1 + (1 + V132) + V2, V2 >= 0, V132 >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__isLNat(V129), 1 + V2) :|: z = 1 + (1 + V129) + V2, V2 >= 0, V129 >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__isLNat(V131), 1 + V2) :|: V131 >= 0, V2 >= 0, z = 1 + (1 + V131) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V124), 1 + V28), 1 + V2) :|: V124 >= 0, V28 >= 0, V2 >= 0, z = 1 + (1 + V124 + V28) + V2 a__isPLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V125), 1 + V29), 1 + V2) :|: z = 1 + (1 + V125 + V29) + V2, V125 >= 0, V29 >= 0, V2 >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V130), 1 + V210), 1 + V2) :|: V130 >= 0, z = 1 + (1 + V130 + V210) + V2, V2 >= 0, V210 >= 0 a__isPLNat(z) -{ 2 }-> a__and(a__and(a__isNatural(V133), 1 + V211), 1 + V2) :|: z = 1 + (1 + V133 + V211) + V2, V2 >= 0, V211 >= 0, V133 >= 0 a__isPLNat(z) -{ 2 }-> a__and(2, 1 + (z - 2)) :|: z - 2 >= 0 a__isPLNat(z) -{ 2 }-> a__and(2, 1 + (z - 1)) :|: z - 1 >= 0 a__isPLNat(z) -{ 2 }-> a__and(1 + V1, 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isPLNat(z) -{ 1 }-> 1 + z :|: z >= 0 a__natsFrom(z) -{ 2 }-> a__U41(a__isNatural(z - 1), 1 + (z - 1)) :|: z - 1 >= 0 a__natsFrom(z) -{ 2 }-> a__U41(a__isLNat(z - 1), 1 + (z - 1)) :|: z - 1 >= 0 a__natsFrom(z) -{ 2 }-> a__U41(a__and(a__isNatural(V136), 1 + V212), 1 + V136 + V212) :|: z = 1 + V136 + V212, V136 >= 0, V212 >= 0 a__natsFrom(z) -{ 2 }-> a__U41(2, 0) :|: z = 0 a__natsFrom(z) -{ 2 }-> a__U41(1 + z, z) :|: z >= 0 a__natsFrom(z) -{ 1 }-> 1 + z :|: z >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(a__isNatural(z - 1), 1 + z'), 1 + (z - 1), z') :|: z - 1 >= 0, z' >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(a__isLNat(z - 1), 1 + z'), 1 + (z - 1), z') :|: z - 1 >= 0, z' >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(a__and(a__isNatural(V139), 1 + V213), 1 + z'), 1 + V139 + V213, z') :|: V213 >= 0, V139 >= 0, z = 1 + V139 + V213, z' >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(2, 1 + z'), 0, z') :|: z = 0, z' >= 0 a__sel(z, z') -{ 2 }-> a__U51(a__and(1 + z, 1 + z'), z, z') :|: z' >= 0, z >= 0 a__sel(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__isPLNat(V142), 1 + Y), Y) :|: Y >= 0, z = 1 + (1 + V142) + Y, V142 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__isPLNat(V144), 1 + Y), Y) :|: Y >= 0, z = 1 + (1 + V144) + Y, V144 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__isNatural(V143), 1 + Y), Y) :|: z = 1 + (1 + V143) + Y, Y >= 0, V143 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__isLNat(V145), 1 + Y), Y) :|: z = 1 + (1 + V145) + Y, V145 >= 0, Y >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__and(a__isNatural(V140), 1 + V214), 1 + Y), Y) :|: Y >= 0, V140 >= 0, z = 1 + (1 + V140 + V214) + Y, V214 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__and(a__isNatural(V141), 1 + V215), 1 + Y), Y) :|: V141 >= 0, z = 1 + (1 + V141 + V215) + Y, Y >= 0, V215 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(a__and(a__isNatural(V146), 1 + V216), 1 + Y), Y) :|: Y >= 0, V146 >= 0, V216 >= 0, z = 1 + (1 + V146 + V216) + Y a__snd(z) -{ 2 }-> a__U61(a__and(2, 1 + (z - 2)), z - 2) :|: z - 2 >= 0 a__snd(z) -{ 2 }-> a__U61(a__and(1 + X, 1 + Y), Y) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__snd(z) -{ 1 }-> 1 + z :|: z >= 0 a__splitAt(z, z') -{ 2 }-> a__U81(a__and(a__isNatural(z - 2), 1 + (1 + X) + (1 + XS)), 1 + (z - 2), X, XS) :|: z - 2 >= 0, z' = 1 + X + XS, X >= 0, XS >= 0 a__splitAt(z, z') -{ 2 }-> a__U81(a__and(a__isLNat(z - 2), 1 + (1 + X) + (1 + XS)), 1 + (z - 2), X, XS) :|: z' = 1 + X + XS, X >= 0, z - 2 >= 0, XS >= 0 a__splitAt(z, z') -{ 2 }-> a__U81(a__and(a__and(a__isNatural(V156), 1 + V220), 1 + (1 + X) + (1 + XS)), 1 + V156 + V220, X, XS) :|: V220 >= 0, z' = 1 + X + XS, V156 >= 0, X >= 0, z = 1 + (1 + V156 + V220), XS >= 0 a__splitAt(z, z') -{ 2 }-> a__U81(a__and(2, 1 + (1 + X) + (1 + XS)), 0, X, XS) :|: z = 1 + 0, z' = 1 + X + XS, X >= 0, XS >= 0 a__splitAt(z, z') -{ 2 }-> a__U81(a__and(1 + (z - 1), 1 + (1 + X) + (1 + XS)), z - 1, X, XS) :|: z' = 1 + X + XS, X >= 0, XS >= 0, z - 1 >= 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__isPLNat(z' - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__isNatural(z' - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__isLNat(z' - 1), 1 + (z' - 1)) :|: z' - 1 >= 0, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__and(a__isNatural(V147), 1 + V217), 1 + V147 + V217) :|: z' = 1 + V147 + V217, V217 >= 0, V147 >= 0, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__and(a__isNatural(V148), 1 + V218), 1 + V148 + V218) :|: z' = 1 + V148 + V218, V148 >= 0, V218 >= 0, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(a__and(a__isNatural(V153), 1 + V219), 1 + V153 + V219) :|: z' = 1 + V153 + V219, z = 0, V219 >= 0, V153 >= 0 a__splitAt(z, z') -{ 2 }-> a__U71(2, 1) :|: z' = 1, z = 0 a__splitAt(z, z') -{ 2 }-> a__U71(1 + z', z') :|: z = 0, z' >= 0 a__splitAt(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(a__isNatural(V158), 1 + XS), XS) :|: z = 1 + (1 + V158) + XS, V158 >= 0, XS >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(a__isLNat(V157), 1 + XS), XS) :|: V157 >= 0, z = 1 + (1 + V157) + XS, XS >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(a__and(a__isNatural(V159), 1 + V221), 1 + XS), XS) :|: z = 1 + (1 + V159 + V221) + XS, V159 >= 0, V221 >= 0, XS >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(2, 1 + (z - 1)), z - 1) :|: z - 1 >= 0 a__tail(z) -{ 2 }-> a__U91(a__and(1 + N, 1 + XS), XS) :|: z = 1 + N + XS, XS >= 0, N >= 0 a__tail(z) -{ 1 }-> 1 + z :|: z >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(a__isNatural(z - 1), 1 + z'), 1 + (z - 1), z') :|: z - 1 >= 0, z' >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(a__isLNat(z - 1), 1 + z'), 1 + (z - 1), z') :|: z - 1 >= 0, z' >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(a__and(a__isNatural(V162), 1 + V222), 1 + z'), 1 + V162 + V222, z') :|: V162 >= 0, z = 1 + V162 + V222, z' >= 0, V222 >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(2, 1 + z'), 0, z') :|: z = 0, z' >= 0 a__take(z, z') -{ 2 }-> a__U101(a__and(1 + z, 1 + z'), z, z') :|: z' >= 0, z >= 0 a__take(z, z') -{ 1 }-> 1 + z + z' :|: z >= 0, z' >= 0 mark(z) -{ 1 }-> a__take(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__tail(mark(z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__splitAt(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__snd(mark(z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__sel(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__natsFrom(mark(z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__isPLNat(z - 1) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__isNatural(z - 1) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__isLNat(z - 1) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__head(mark(z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__fst(mark(z - 1)) :|: z - 1 >= 0 mark(z) -{ 1 }-> a__and(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__afterNth(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U91(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U82(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U81(mark(X1), X2, X3, X4) :|: X1 >= 0, z = 1 + X1 + X2 + X3 + X4, X3 >= 0, X2 >= 0, X4 >= 0 mark(z) -{ 1 }-> a__U71(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U61(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U51(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> a__U41(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U31(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U21(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U11(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> a__U101(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 mark(z) -{ 1 }-> 1 + mark(z - 1) :|: z - 1 >= 0 mark(z) -{ 1 }-> 1 + mark(X1) + X2 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> 1 + mark(X1) + mark(X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 ---------------------------------------- (17) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: none And the following fresh constants: none ---------------------------------------- (18) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: a__U101(tt, N, XS) -> a__fst(a__splitAt(mark(N), mark(XS))) [1] a__U11(tt, N, XS) -> a__snd(a__splitAt(mark(N), mark(XS))) [1] a__U21(tt, X) -> mark(X) [1] a__U31(tt, N) -> mark(N) [1] a__U41(tt, N) -> cons(mark(N), natsFrom(s(N))) [1] a__U51(tt, N, XS) -> a__head(a__afterNth(mark(N), mark(XS))) [1] a__U61(tt, Y) -> mark(Y) [1] a__U71(tt, XS) -> pair(nil, mark(XS)) [1] a__U81(tt, N, X, XS) -> a__U82(a__splitAt(mark(N), mark(XS)), X) [1] a__U82(pair(YS, ZS), X) -> pair(cons(mark(X), YS), mark(ZS)) [1] a__U91(tt, XS) -> mark(XS) [1] a__afterNth(N, XS) -> a__U11(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] a__and(tt, X) -> mark(X) [1] a__fst(pair(X, Y)) -> a__U21(a__and(a__isLNat(X), isLNat(Y)), X) [1] a__head(cons(N, XS)) -> a__U31(a__and(a__isNatural(N), isLNat(XS)), N) [1] a__isLNat(nil) -> tt [1] a__isLNat(afterNth(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isLNat(cons(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isLNat(fst(V1)) -> a__isPLNat(V1) [1] a__isLNat(natsFrom(V1)) -> a__isNatural(V1) [1] a__isLNat(snd(V1)) -> a__isPLNat(V1) [1] a__isLNat(tail(V1)) -> a__isLNat(V1) [1] a__isLNat(take(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isNatural(0) -> tt [1] a__isNatural(head(V1)) -> a__isLNat(V1) [1] a__isNatural(s(V1)) -> a__isNatural(V1) [1] a__isNatural(sel(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__isPLNat(pair(V1, V2)) -> a__and(a__isLNat(V1), isLNat(V2)) [1] a__isPLNat(splitAt(V1, V2)) -> a__and(a__isNatural(V1), isLNat(V2)) [1] a__natsFrom(N) -> a__U41(a__isNatural(N), N) [1] a__sel(N, XS) -> a__U51(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] a__snd(pair(X, Y)) -> a__U61(a__and(a__isLNat(X), isLNat(Y)), Y) [1] a__splitAt(0, XS) -> a__U71(a__isLNat(XS), XS) [1] a__splitAt(s(N), cons(X, XS)) -> a__U81(a__and(a__isNatural(N), and(isNatural(X), isLNat(XS))), N, X, XS) [1] a__tail(cons(N, XS)) -> a__U91(a__and(a__isNatural(N), isLNat(XS)), XS) [1] a__take(N, XS) -> a__U101(a__and(a__isNatural(N), isLNat(XS)), N, XS) [1] mark(U101(X1, X2, X3)) -> a__U101(mark(X1), X2, X3) [1] mark(fst(X)) -> a__fst(mark(X)) [1] mark(splitAt(X1, X2)) -> a__splitAt(mark(X1), mark(X2)) [1] mark(U11(X1, X2, X3)) -> a__U11(mark(X1), X2, X3) [1] mark(snd(X)) -> a__snd(mark(X)) [1] mark(U21(X1, X2)) -> a__U21(mark(X1), X2) [1] mark(U31(X1, X2)) -> a__U31(mark(X1), X2) [1] mark(U41(X1, X2)) -> a__U41(mark(X1), X2) [1] mark(natsFrom(X)) -> a__natsFrom(mark(X)) [1] mark(U51(X1, X2, X3)) -> a__U51(mark(X1), X2, X3) [1] mark(head(X)) -> a__head(mark(X)) [1] mark(afterNth(X1, X2)) -> a__afterNth(mark(X1), mark(X2)) [1] mark(U61(X1, X2)) -> a__U61(mark(X1), X2) [1] mark(U71(X1, X2)) -> a__U71(mark(X1), X2) [1] mark(U81(X1, X2, X3, X4)) -> a__U81(mark(X1), X2, X3, X4) [1] mark(U82(X1, X2)) -> a__U82(mark(X1), X2) [1] mark(U91(X1, X2)) -> a__U91(mark(X1), X2) [1] mark(and(X1, X2)) -> a__and(mark(X1), X2) [1] mark(isNatural(X)) -> a__isNatural(X) [1] mark(isLNat(X)) -> a__isLNat(X) [1] mark(isPLNat(X)) -> a__isPLNat(X) [1] mark(tail(X)) -> a__tail(mark(X)) [1] mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) [1] mark(sel(X1, X2)) -> a__sel(mark(X1), mark(X2)) [1] mark(tt) -> tt [1] mark(cons(X1, X2)) -> cons(mark(X1), X2) [1] mark(s(X)) -> s(mark(X)) [1] mark(pair(X1, X2)) -> pair(mark(X1), mark(X2)) [1] mark(nil) -> nil [1] mark(0) -> 0 [1] a__U101(X1, X2, X3) -> U101(X1, X2, X3) [1] a__fst(X) -> fst(X) [1] a__splitAt(X1, X2) -> splitAt(X1, X2) [1] a__U11(X1, X2, X3) -> U11(X1, X2, X3) [1] a__snd(X) -> snd(X) [1] a__U21(X1, X2) -> U21(X1, X2) [1] a__U31(X1, X2) -> U31(X1, X2) [1] a__U41(X1, X2) -> U41(X1, X2) [1] a__natsFrom(X) -> natsFrom(X) [1] a__U51(X1, X2, X3) -> U51(X1, X2, X3) [1] a__head(X) -> head(X) [1] a__afterNth(X1, X2) -> afterNth(X1, X2) [1] a__U61(X1, X2) -> U61(X1, X2) [1] a__U71(X1, X2) -> U71(X1, X2) [1] a__U81(X1, X2, X3, X4) -> U81(X1, X2, X3, X4) [1] a__U82(X1, X2) -> U82(X1, X2) [1] a__U91(X1, X2) -> U91(X1, X2) [1] a__and(X1, X2) -> and(X1, X2) [1] a__isNatural(X) -> isNatural(X) [1] a__isLNat(X) -> isLNat(X) [1] a__isPLNat(X) -> isPLNat(X) [1] a__tail(X) -> tail(X) [1] a__take(X1, X2) -> take(X1, X2) [1] a__sel(X1, X2) -> sel(X1, X2) [1] The TRS has the following type information: a__U101 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat tt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__fst :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__splitAt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat mark :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U11 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__snd :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U21 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U31 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U41 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat cons :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat natsFrom :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat s :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U51 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__head :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__afterNth :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U61 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U71 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat pair :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat nil :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U81 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U82 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__U91 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__and :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isNatural :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat afterNth :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat fst :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__isPLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat snd :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat tail :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat take :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat 0 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat head :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat sel :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat splitAt :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__natsFrom :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__sel :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat and :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isNatural :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__tail :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat a__take :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U101 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U11 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U21 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U31 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U41 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U51 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U61 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U71 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U81 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U82 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat U91 :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat isPLNat :: tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat -> tt:s:natsFrom:cons:nil:pair:isLNat:afterNth:fst:snd:tail:take:0:head:sel:splitAt:isNatural:and:U101:U11:U21:U31:U41:U51:U61:U71:U81:U82:U91:isPLNat Rewrite Strategy: INNERMOST ---------------------------------------- (19) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: tt => 2 nil => 1 0 => 0 ---------------------------------------- (20) Obligation: Complexity RNTS consisting of the following rules: a__U101(z, z', z'') -{ 1 }-> a__fst(a__splitAt(mark(N), mark(XS))) :|: z = 2, z'' = XS, z' = N, XS >= 0, N >= 0 a__U101(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U11(z, z', z'') -{ 1 }-> a__snd(a__splitAt(mark(N), mark(XS))) :|: z = 2, z'' = XS, z' = N, XS >= 0, N >= 0 a__U11(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U21(z, z') -{ 1 }-> mark(X) :|: z = 2, z' = X, X >= 0 a__U21(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U31(z, z') -{ 1 }-> mark(N) :|: z = 2, z' = N, N >= 0 a__U31(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U41(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U41(z, z') -{ 1 }-> 1 + mark(N) + (1 + (1 + N)) :|: z = 2, z' = N, N >= 0 a__U51(z, z', z'') -{ 1 }-> a__head(a__afterNth(mark(N), mark(XS))) :|: z = 2, z'' = XS, z' = N, XS >= 0, N >= 0 a__U51(z, z', z'') -{ 1 }-> 1 + X1 + X2 + X3 :|: X1 >= 0, X3 >= 0, X2 >= 0, z = X1, z' = X2, z'' = X3 a__U61(z, z') -{ 1 }-> mark(Y) :|: z = 2, z' = Y, Y >= 0 a__U61(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U71(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U71(z, z') -{ 1 }-> 1 + 1 + mark(XS) :|: z = 2, z' = XS, XS >= 0 a__U81(z, z', z'', z1) -{ 1 }-> a__U82(a__splitAt(mark(N), mark(XS)), X) :|: z = 2, z'' = X, X >= 0, z' = N, z1 = XS, XS >= 0, N >= 0 a__U81(z, z', z'', z1) -{ 1 }-> 1 + X1 + X2 + X3 + X4 :|: X1 >= 0, z1 = X4, X3 >= 0, X2 >= 0, X4 >= 0, z = X1, z' = X2, z'' = X3 a__U82(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__U82(z, z') -{ 1 }-> 1 + (1 + mark(X) + YS) + mark(ZS) :|: z' = X, z = 1 + YS + ZS, YS >= 0, X >= 0, ZS >= 0 a__U91(z, z') -{ 1 }-> mark(XS) :|: z = 2, z' = XS, XS >= 0 a__U91(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__afterNth(z, z') -{ 1 }-> a__U11(a__and(a__isNatural(N), 1 + XS), N, XS) :|: z' = XS, z = N, XS >= 0, N >= 0 a__afterNth(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__and(z, z') -{ 1 }-> mark(X) :|: z = 2, z' = X, X >= 0 a__and(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__fst(z) -{ 1 }-> a__U21(a__and(a__isLNat(X), 1 + Y), X) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__fst(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__head(z) -{ 1 }-> a__U31(a__and(a__isNatural(N), 1 + XS), N) :|: z = 1 + N + XS, XS >= 0, N >= 0 a__head(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isLNat(z) -{ 1 }-> a__isPLNat(V1) :|: z = 1 + V1, V1 >= 0 a__isLNat(z) -{ 1 }-> a__isNatural(V1) :|: z = 1 + V1, V1 >= 0 a__isLNat(z) -{ 1 }-> a__isLNat(V1) :|: z = 1 + V1, V1 >= 0 a__isLNat(z) -{ 1 }-> a__and(a__isNatural(V1), 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isLNat(z) -{ 1 }-> 2 :|: z = 1 a__isLNat(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isNatural(z) -{ 1 }-> a__isNatural(V1) :|: z = 1 + V1, V1 >= 0 a__isNatural(z) -{ 1 }-> a__isLNat(V1) :|: z = 1 + V1, V1 >= 0 a__isNatural(z) -{ 1 }-> a__and(a__isNatural(V1), 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isNatural(z) -{ 1 }-> 2 :|: z = 0 a__isNatural(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__isPLNat(z) -{ 1 }-> a__and(a__isNatural(V1), 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isPLNat(z) -{ 1 }-> a__and(a__isLNat(V1), 1 + V2) :|: V1 >= 0, V2 >= 0, z = 1 + V1 + V2 a__isPLNat(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__natsFrom(z) -{ 1 }-> a__U41(a__isNatural(N), N) :|: z = N, N >= 0 a__natsFrom(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__sel(z, z') -{ 1 }-> a__U51(a__and(a__isNatural(N), 1 + XS), N, XS) :|: z' = XS, z = N, XS >= 0, N >= 0 a__sel(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__snd(z) -{ 1 }-> a__U61(a__and(a__isLNat(X), 1 + Y), Y) :|: Y >= 0, z = 1 + X + Y, X >= 0 a__snd(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__splitAt(z, z') -{ 1 }-> a__U81(a__and(a__isNatural(N), 1 + (1 + X) + (1 + XS)), N, X, XS) :|: z = 1 + N, z' = 1 + X + XS, X >= 0, XS >= 0, N >= 0 a__splitAt(z, z') -{ 1 }-> a__U71(a__isLNat(XS), XS) :|: z' = XS, z = 0, XS >= 0 a__splitAt(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 a__tail(z) -{ 1 }-> a__U91(a__and(a__isNatural(N), 1 + XS), XS) :|: z = 1 + N + XS, XS >= 0, N >= 0 a__tail(z) -{ 1 }-> 1 + X :|: X >= 0, z = X a__take(z, z') -{ 1 }-> a__U101(a__and(a__isNatural(N), 1 + XS), N, XS) :|: z' = XS, z = N, XS >= 0, N >= 0 a__take(z, z') -{ 1 }-> 1 + X1 + X2 :|: X1 >= 0, X2 >= 0, z = X1, z' = X2 mark(z) -{ 1 }-> a__take(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__tail(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__splitAt(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__snd(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__sel(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__natsFrom(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isPLNat(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isNatural(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__isLNat(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__head(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__fst(mark(X)) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> a__and(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__afterNth(mark(X1), mark(X2)) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U91(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U82(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U81(mark(X1), X2, X3, X4) :|: X1 >= 0, z = 1 + X1 + X2 + X3 + X4, X3 >= 0, X2 >= 0, X4 >= 0 mark(z) -{ 1 }-> a__U71(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U61(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U51(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> a__U41(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U31(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U21(mark(X1), X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> a__U11(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> a__U101(mark(X1), X2, X3) :|: X1 >= 0, X3 >= 0, z = 1 + X1 + X2 + X3, X2 >= 0 mark(z) -{ 1 }-> 2 :|: z = 2 mark(z) -{ 1 }-> 1 :|: z = 1 mark(z) -{ 1 }-> 0 :|: z = 0 mark(z) -{ 1 }-> 1 + mark(X) :|: z = 1 + X, X >= 0 mark(z) -{ 1 }-> 1 + mark(X1) + X2 :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 mark(z) -{ 1 }-> 1 + mark(X1) + mark(X2) :|: X1 >= 0, X2 >= 0, z = 1 + X1 + X2 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (21) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (22) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U101(tt, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U101(z0, z1, z2) -> c2 A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(z0, z1, z2) -> c5 A__U21(tt, z0) -> c6(MARK(z0)) A__U21(z0, z1) -> c7 A__U31(tt, z0) -> c8(MARK(z0)) A__U31(z0, z1) -> c9 A__U41(tt, z0) -> c10(MARK(z0)) A__U41(z0, z1) -> c11 A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U51(z0, z1, z2) -> c14 A__U61(tt, z0) -> c15(MARK(z0)) A__U61(z0, z1) -> c16 A__U71(tt, z0) -> c17(MARK(z0)) A__U71(z0, z1) -> c18 A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U81(z0, z1, z2, z3) -> c21 A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U82(z0, z1) -> c24 A__U91(tt, z0) -> c25(MARK(z0)) A__U91(z0, z1) -> c26 A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AFTERNTH(z0, z1) -> c28 A__AND(tt, z0) -> c29(MARK(z0)) A__AND(z0, z1) -> c30 A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__FST(z0) -> c32 A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__HEAD(z0) -> c34 A__ISLNAT(nil) -> c35 A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(z0) -> c43 A__ISNATURAL(0) -> c44 A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(z0) -> c48 A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(z0) -> c51 A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c53 A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c55 A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SND(z0) -> c57 A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__SPLITAT(z0, z1) -> c60 A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAIL(z0) -> c62 A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c64 MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(tt) -> c93 MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) MARK(nil) -> c98 MARK(0) -> c99 S tuples: A__U101(tt, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U101(z0, z1, z2) -> c2 A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(z0, z1, z2) -> c5 A__U21(tt, z0) -> c6(MARK(z0)) A__U21(z0, z1) -> c7 A__U31(tt, z0) -> c8(MARK(z0)) A__U31(z0, z1) -> c9 A__U41(tt, z0) -> c10(MARK(z0)) A__U41(z0, z1) -> c11 A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U51(z0, z1, z2) -> c14 A__U61(tt, z0) -> c15(MARK(z0)) A__U61(z0, z1) -> c16 A__U71(tt, z0) -> c17(MARK(z0)) A__U71(z0, z1) -> c18 A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U81(z0, z1, z2, z3) -> c21 A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U82(z0, z1) -> c24 A__U91(tt, z0) -> c25(MARK(z0)) A__U91(z0, z1) -> c26 A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AFTERNTH(z0, z1) -> c28 A__AND(tt, z0) -> c29(MARK(z0)) A__AND(z0, z1) -> c30 A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__FST(z0) -> c32 A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__HEAD(z0) -> c34 A__ISLNAT(nil) -> c35 A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(z0) -> c43 A__ISNATURAL(0) -> c44 A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(z0) -> c48 A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(z0) -> c51 A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c53 A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c55 A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SND(z0) -> c57 A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__SPLITAT(z0, z1) -> c60 A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAIL(z0) -> c62 A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c64 MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(tt) -> c93 MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) MARK(nil) -> c98 MARK(0) -> c99 K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U101_3, A__U11_3, A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1 Compound Symbols: c_3, c1_3, c2, c3_3, c4_3, c5, c6_1, c7, c8_1, c9, c10_1, c11, c12_3, c13_3, c14, c15_1, c16, c17_1, c18, c19_3, c20_3, c21, c22_1, c23_1, c24, c25_1, c26, c27_3, c28, c29_1, c30, c31_3, c32, c33_3, c34, c35, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c43, c44, c45_1, c46_1, c47_2, c48, c49_2, c50_2, c51, c52_2, c53, c54_3, c55, c56_3, c57, c58_2, c59_3, c60, c61_3, c62, c63_3, c64, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c93, c94_1, c95_1, c96_1, c97_1, c98, c99 ---------------------------------------- (23) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 29 trailing nodes: MARK(nil) -> c98 A__ISPLNAT(z0) -> c51 A__ISNATURAL(z0) -> c48 A__HEAD(z0) -> c34 A__U31(z0, z1) -> c9 A__U81(z0, z1, z2, z3) -> c21 A__U91(z0, z1) -> c26 A__TAKE(z0, z1) -> c64 A__AFTERNTH(z0, z1) -> c28 A__U61(z0, z1) -> c16 A__AND(z0, z1) -> c30 A__SEL(z0, z1) -> c55 A__FST(z0) -> c32 MARK(tt) -> c93 A__TAIL(z0) -> c62 A__U41(z0, z1) -> c11 A__U21(z0, z1) -> c7 A__U11(z0, z1, z2) -> c5 A__NATSFROM(z0) -> c53 A__ISNATURAL(0) -> c44 A__U71(z0, z1) -> c18 MARK(0) -> c99 A__ISLNAT(z0) -> c43 A__U82(z0, z1) -> c24 A__U101(z0, z1, z2) -> c2 A__SPLITAT(z0, z1) -> c60 A__ISLNAT(nil) -> c35 A__U51(z0, z1, z2) -> c14 A__SND(z0) -> c57 ---------------------------------------- (24) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U101(tt, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) S tuples: A__U101(tt, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U101_3, A__U11_3, A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1 Compound Symbols: c_3, c1_3, c3_3, c4_3, c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1 ---------------------------------------- (25) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U101(tt, z0, z1) -> c(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) by A__U101(tt, x0, x1) -> c(A__FST(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(tt)) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(nil)) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(0)) ---------------------------------------- (26) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, x1) -> c(A__FST(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(tt)) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(nil)) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(0)) S tuples: A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, x1) -> c(A__FST(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(tt)) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(nil)) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U101_3, A__U11_3, A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1 Compound Symbols: c1_3, c3_3, c4_3, c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3 ---------------------------------------- (27) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (28) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) S tuples: A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U101_3, A__U11_3, A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1 Compound Symbols: c1_3, c3_3, c4_3, c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2 ---------------------------------------- (29) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U101(tt, z0, z1) -> c1(A__FST(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) by A__U101(tt, x0, x1) -> c1(A__FST(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) ---------------------------------------- (30) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, x1) -> c1(A__FST(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) S tuples: A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, x1) -> c1(A__FST(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U11_3, A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3 Compound Symbols: c3_3, c4_3, c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3 ---------------------------------------- (31) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (32) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) S tuples: A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U11_3, A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3 Compound Symbols: c3_3, c4_3, c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2 ---------------------------------------- (33) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U11(tt, z0, z1) -> c3(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) by A__U11(tt, x0, x1) -> c3(A__SND(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(tt)) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(nil)) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(0)) ---------------------------------------- (34) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, x1) -> c3(A__SND(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(tt)) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(nil)) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(0)) S tuples: A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, x1) -> c3(A__SND(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(tt)) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(nil)) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U11_3, A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3 Compound Symbols: c4_3, c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3 ---------------------------------------- (35) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (36) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) S tuples: A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U11_3, A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3 Compound Symbols: c4_3, c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2 ---------------------------------------- (37) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U11(tt, z0, z1) -> c4(A__SND(a__splitAt(mark(z0), mark(z1))), A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) by A__U11(tt, x0, x1) -> c4(A__SND(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) ---------------------------------------- (38) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, x1) -> c4(A__SND(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, x1) -> c4(A__SND(splitAt(mark(x0), mark(x1))), A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3 Compound Symbols: c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3 ---------------------------------------- (39) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (40) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3 Compound Symbols: c6_1, c8_1, c10_1, c12_3, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2 ---------------------------------------- (41) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U51(tt, z0, z1) -> c12(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) by A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, x1) -> c12(A__HEAD(afterNth(mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(tt)) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(nil)) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(0)) ---------------------------------------- (42) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, x1) -> c12(A__HEAD(afterNth(mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(tt)) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(nil)) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, x1) -> c12(A__HEAD(afterNth(mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(tt)) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(nil)) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3 Compound Symbols: c6_1, c8_1, c10_1, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3 ---------------------------------------- (43) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (44) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U51_3, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3 Compound Symbols: c6_1, c8_1, c10_1, c13_3, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2 ---------------------------------------- (45) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U51(tt, z0, z1) -> c13(A__HEAD(a__afterNth(mark(z0), mark(z1))), A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) by A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__HEAD(afterNth(mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(tt)) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(nil)) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(0)) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) ---------------------------------------- (46) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__HEAD(afterNth(mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(tt)) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(nil)) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(0)) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__HEAD(afterNth(mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(tt)) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(nil)) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(0)) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3 ---------------------------------------- (47) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (48) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c19_3, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2 ---------------------------------------- (49) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U81(tt, z0, z1, z2) -> c19(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z0)) by A__U81(tt, x0, x1, x2) -> c19(A__U82(splitAt(mark(x0), mark(x2)), x1), A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(tt)) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(nil)) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(0)) ---------------------------------------- (50) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, x2) -> c19(A__U82(splitAt(mark(x0), mark(x2)), x1), A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(tt)) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(nil)) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, x2) -> c19(A__U82(splitAt(mark(x0), mark(x2)), x1), A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(tt)) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(nil)) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3 ---------------------------------------- (51) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (52) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U81_4, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c20_3, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2 ---------------------------------------- (53) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__U81(tt, z0, z1, z2) -> c20(A__U82(a__splitAt(mark(z0), mark(z2)), z1), A__SPLITAT(mark(z0), mark(z2)), MARK(z2)) by A__U81(tt, x0, x1, x2) -> c20(A__U82(splitAt(mark(x0), mark(x2)), x1), A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) ---------------------------------------- (54) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, x2) -> c20(A__U82(splitAt(mark(x0), mark(x2)), x1), A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, x2) -> c20(A__U82(splitAt(mark(x0), mark(x2)), x1), A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(tt)) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(nil)) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3 ---------------------------------------- (55) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (56) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AFTERNTH_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c27_3, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2 ---------------------------------------- (57) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__AFTERNTH(z0, z1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__AFTERNTH(x0, x1) -> c27(A__U11(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (58) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(x0, x1) -> c27(A__U11(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(x0, x1) -> c27(A__U11(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3 ---------------------------------------- (59) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (60) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__FST_1, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c31_3, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2 ---------------------------------------- (61) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__FST(pair(z0, z1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(z1)), z0), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) by A__FST(pair(x0, x1)) -> c31(A__U21(and(a__isLNat(x0), isLNat(x1)), x0), A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1)), A__ISLNAT(nil)) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) ---------------------------------------- (62) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(x0, x1)) -> c31(A__U21(and(a__isLNat(x0), isLNat(x1)), x0), A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1)), A__ISLNAT(nil)) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(x0, x1)) -> c31(A__U21(and(a__isLNat(x0), isLNat(x1)), x0), A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1)), A__ISLNAT(nil)) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3 ---------------------------------------- (63) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (64) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__HEAD_1, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c33_3, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2 ---------------------------------------- (65) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__HEAD(cons(z0, z1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(z1)), z0), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__HEAD(cons(x0, x1)) -> c33(A__U31(and(a__isNatural(x0), isLNat(x1)), x0), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (66) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(x0, x1)) -> c33(A__U31(and(a__isNatural(x0), isLNat(x1)), x0), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(x0, x1)) -> c33(A__U31(and(a__isNatural(x0), isLNat(x1)), x0), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3 ---------------------------------------- (67) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (68) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c36_2, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2 ---------------------------------------- (69) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISLNAT(afterNth(z0, z1)) -> c36(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (70) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2 ---------------------------------------- (71) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (72) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c37_2, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1 ---------------------------------------- (73) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISLNAT(cons(z0, z1)) -> c37(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(z0, x1)) -> c37(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (74) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(z0, x1)) -> c37(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(z0, x1)) -> c37(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2 ---------------------------------------- (75) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (76) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c42_2, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1 ---------------------------------------- (77) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISLNAT(take(z0, z1)) -> c42(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(z0, x1)) -> c42(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (78) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(z0, x1)) -> c42(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(z0, x1)) -> c42(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2 ---------------------------------------- (79) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (80) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c47_2, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1 ---------------------------------------- (81) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISNATURAL(sel(z0, z1)) -> c47(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (82) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2 ---------------------------------------- (83) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (84) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c49_2, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1 ---------------------------------------- (85) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISPLNAT(pair(z0, z1)) -> c49(A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) by A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1)), A__ISLNAT(nil)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__AND(isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) ---------------------------------------- (86) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1)), A__ISLNAT(nil)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__AND(isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1)), A__ISLNAT(nil)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__AND(isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2 ---------------------------------------- (87) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (88) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c50_2, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1 ---------------------------------------- (89) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__ISPLNAT(splitAt(z0, z1)) -> c50(A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (90) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1)), A__ISNATURAL(0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__AND(isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2 ---------------------------------------- (91) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (92) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c52_2, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1 ---------------------------------------- (93) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__NATSFROM(z0) -> c52(A__U41(a__isNatural(z0), z0), A__ISNATURAL(z0)) by A__NATSFROM(0) -> c52(A__U41(tt, 0), A__ISNATURAL(0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(z0) -> c52(A__U41(isNatural(z0), z0), A__ISNATURAL(z0)) ---------------------------------------- (94) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(0) -> c52(A__U41(tt, 0), A__ISNATURAL(0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(z0) -> c52(A__U41(isNatural(z0), z0), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(0) -> c52(A__U41(tt, 0), A__ISNATURAL(0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(z0) -> c52(A__U41(isNatural(z0), z0), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2 ---------------------------------------- (95) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (96) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c54_3, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1 ---------------------------------------- (97) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SEL(z0, z1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__SEL(x0, x1) -> c54(A__U51(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (98) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__U51(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__U51(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3 ---------------------------------------- (99) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (100) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c56_3, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2 ---------------------------------------- (101) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SND(pair(z0, z1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(z1)), z1), A__AND(a__isLNat(z0), isLNat(z1)), A__ISLNAT(z0)) by A__SND(pair(x0, x1)) -> c56(A__U61(and(a__isLNat(x0), isLNat(x1)), x1), A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1)), A__ISLNAT(nil)) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) ---------------------------------------- (102) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(x0, x1)) -> c56(A__U61(and(a__isLNat(x0), isLNat(x1)), x1), A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1)), A__ISLNAT(nil)) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(x0, x1)) -> c56(A__U61(and(a__isLNat(x0), isLNat(x1)), x1), A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1)), A__ISLNAT(nil)) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3 ---------------------------------------- (103) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (104) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c58_2, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2 ---------------------------------------- (105) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SPLITAT(0, z0) -> c58(A__U71(a__isLNat(z0), z0), A__ISLNAT(z0)) by A__SPLITAT(0, nil) -> c58(A__U71(tt, nil), A__ISLNAT(nil)) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, z0) -> c58(A__U71(isLNat(z0), z0), A__ISLNAT(z0)) ---------------------------------------- (106) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil), A__ISLNAT(nil)) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, z0) -> c58(A__U71(isLNat(z0), z0), A__ISLNAT(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil), A__ISLNAT(nil)) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, z0) -> c58(A__U71(isLNat(z0), z0), A__ISLNAT(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2 ---------------------------------------- (107) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (108) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c59_3, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1 ---------------------------------------- (109) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__SPLITAT(s(z0), cons(z1, z2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2), A__AND(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), A__ISNATURAL(z0)) by A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__U81(and(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), x0, x1, x2), A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) ---------------------------------------- (110) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__U81(and(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), x0, x1, x2), A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__U81(and(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), x0, x1, x2), A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3 ---------------------------------------- (111) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (112) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__TAIL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c61_3, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2 ---------------------------------------- (113) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__TAIL(cons(z0, z1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(z1)), z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__TAIL(cons(x0, x1)) -> c61(A__U91(and(a__isNatural(x0), isLNat(x1)), x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (114) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(x0, x1)) -> c61(A__U91(and(a__isNatural(x0), isLNat(x1)), x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(x0, x1)) -> c61(A__U91(and(a__isNatural(x0), isLNat(x1)), x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3 ---------------------------------------- (115) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, A__TAKE_2, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c63_3, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2 ---------------------------------------- (117) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace A__TAKE(z0, z1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1), A__AND(a__isNatural(z0), isLNat(z1)), A__ISNATURAL(z0)) by A__TAKE(x0, x1) -> c63(A__U101(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(x0, x1) -> c63(A__U101(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(x0, x1) -> c63(A__U101(and(a__isNatural(x0), isLNat(x1)), x0, x1), A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1)), A__ISNATURAL(0)) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3 ---------------------------------------- (119) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c65_2, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2 ---------------------------------------- (121) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U101(z0, z1, z2)) -> c65(A__U101(mark(z0), z1, z2), MARK(z0)) by MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2), MARK(tt)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(A__U101(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(A__U101(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(A__U101(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) MARK(U101(nil, x1, x2)) -> c65(A__U101(nil, x1, x2), MARK(nil)) MARK(U101(0, x1, x2)) -> c65(A__U101(0, x1, x2), MARK(0)) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2), MARK(tt)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(A__U101(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(A__U101(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(A__U101(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) MARK(U101(nil, x1, x2)) -> c65(A__U101(nil, x1, x2), MARK(nil)) MARK(U101(0, x1, x2)) -> c65(A__U101(0, x1, x2), MARK(0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2), MARK(tt)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(A__U101(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(A__U101(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(A__U101(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) MARK(U101(nil, x1, x2)) -> c65(A__U101(nil, x1, x2), MARK(nil)) MARK(U101(0, x1, x2)) -> c65(A__U101(0, x1, x2), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2 ---------------------------------------- (123) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(U101(nil, x1, x2)) -> c65(A__U101(nil, x1, x2), MARK(nil)) MARK(U101(0, x1, x2)) -> c65(A__U101(0, x1, x2), MARK(0)) ---------------------------------------- (124) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2), MARK(tt)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(A__U101(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(A__U101(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(A__U101(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2), MARK(tt)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(A__U101(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(A__U101(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(A__U101(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2 ---------------------------------------- (125) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (126) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c66_2, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1 ---------------------------------------- (127) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(fst(z0)) -> c66(A__FST(mark(z0)), MARK(z0)) by MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(tt)) -> c66(A__FST(tt), MARK(tt)) MARK(fst(cons(z0, z1))) -> c66(A__FST(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(A__FST(s(mark(z0))), MARK(s(z0))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(nil)) -> c66(A__FST(nil), MARK(nil)) MARK(fst(0)) -> c66(A__FST(0), MARK(0)) ---------------------------------------- (128) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(tt)) -> c66(A__FST(tt), MARK(tt)) MARK(fst(cons(z0, z1))) -> c66(A__FST(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(A__FST(s(mark(z0))), MARK(s(z0))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(nil)) -> c66(A__FST(nil), MARK(nil)) MARK(fst(0)) -> c66(A__FST(0), MARK(0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(tt)) -> c66(A__FST(tt), MARK(tt)) MARK(fst(cons(z0, z1))) -> c66(A__FST(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(A__FST(s(mark(z0))), MARK(s(z0))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(nil)) -> c66(A__FST(nil), MARK(nil)) MARK(fst(0)) -> c66(A__FST(0), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2 ---------------------------------------- (129) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing nodes: MARK(fst(tt)) -> c66(A__FST(tt), MARK(tt)) MARK(fst(nil)) -> c66(A__FST(nil), MARK(nil)) MARK(fst(0)) -> c66(A__FST(0), MARK(0)) ---------------------------------------- (130) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(A__FST(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(A__FST(s(mark(z0))), MARK(s(z0))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(A__FST(cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(A__FST(s(mark(z0))), MARK(s(z0))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2 ---------------------------------------- (131) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (132) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c67_2, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1 ---------------------------------------- (133) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(splitAt(z0, z1)) -> c67(A__SPLITAT(mark(z0), mark(z1)), MARK(z0)) by MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(tt, x1)) -> c67(A__SPLITAT(tt, mark(x1)), MARK(tt)) MARK(splitAt(cons(z0, z1), x1)) -> c67(A__SPLITAT(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(pair(z0, z1), x1)) -> c67(A__SPLITAT(pair(mark(z0), mark(z1)), mark(x1)), MARK(pair(z0, z1))) MARK(splitAt(nil, x1)) -> c67(A__SPLITAT(nil, mark(x1)), MARK(nil)) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1)), MARK(0)) ---------------------------------------- (134) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(tt, x1)) -> c67(A__SPLITAT(tt, mark(x1)), MARK(tt)) MARK(splitAt(cons(z0, z1), x1)) -> c67(A__SPLITAT(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(pair(z0, z1), x1)) -> c67(A__SPLITAT(pair(mark(z0), mark(z1)), mark(x1)), MARK(pair(z0, z1))) MARK(splitAt(nil, x1)) -> c67(A__SPLITAT(nil, mark(x1)), MARK(nil)) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1)), MARK(0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(tt, x1)) -> c67(A__SPLITAT(tt, mark(x1)), MARK(tt)) MARK(splitAt(cons(z0, z1), x1)) -> c67(A__SPLITAT(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(pair(z0, z1), x1)) -> c67(A__SPLITAT(pair(mark(z0), mark(z1)), mark(x1)), MARK(pair(z0, z1))) MARK(splitAt(nil, x1)) -> c67(A__SPLITAT(nil, mark(x1)), MARK(nil)) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1)), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1, c67_2 ---------------------------------------- (135) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(splitAt(tt, x1)) -> c67(A__SPLITAT(tt, mark(x1)), MARK(tt)) MARK(splitAt(nil, x1)) -> c67(A__SPLITAT(nil, mark(x1)), MARK(nil)) ---------------------------------------- (136) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(cons(z0, z1), x1)) -> c67(A__SPLITAT(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(pair(z0, z1), x1)) -> c67(A__SPLITAT(pair(mark(z0), mark(z1)), mark(x1)), MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1)), MARK(0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(cons(z0, z1), x1)) -> c67(A__SPLITAT(cons(mark(z0), z1), mark(x1)), MARK(cons(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(pair(z0, z1), x1)) -> c67(A__SPLITAT(pair(mark(z0), mark(z1)), mark(x1)), MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1)), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1, c67_2 ---------------------------------------- (137) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 3 trailing tuple parts ---------------------------------------- (138) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c68_2, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1, c67_2, c67_1 ---------------------------------------- (139) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(splitAt(z0, z1)) -> c68(A__SPLITAT(mark(z0), mark(z1)), MARK(z1)) by MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt), MARK(tt)) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil), MARK(nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0), MARK(0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(tt, x1)) -> c68(A__SPLITAT(tt, mark(x1)), MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(A__SPLITAT(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(A__SPLITAT(pair(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(nil, x1)) -> c68(A__SPLITAT(nil, mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) ---------------------------------------- (140) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt), MARK(tt)) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil), MARK(nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0), MARK(0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(tt, x1)) -> c68(A__SPLITAT(tt, mark(x1)), MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(A__SPLITAT(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(A__SPLITAT(pair(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(nil, x1)) -> c68(A__SPLITAT(nil, mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt), MARK(tt)) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil), MARK(nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0), MARK(0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(tt, x1)) -> c68(A__SPLITAT(tt, mark(x1)), MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(A__SPLITAT(cons(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(A__SPLITAT(pair(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(nil, x1)) -> c68(A__SPLITAT(nil, mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1, c67_2, c67_1, c68_2 ---------------------------------------- (141) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 7 trailing tuple parts ---------------------------------------- (142) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt)) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0)) MARK(splitAt(tt, x1)) -> c68(MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(nil, x1)) -> c68(MARK(x1)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt)) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0)) MARK(splitAt(tt, x1)) -> c68(MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(nil, x1)) -> c68(MARK(x1)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c69_2, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1, c67_2, c67_1, c68_2, c68_1 ---------------------------------------- (143) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace MARK(U11(z0, z1, z2)) -> c69(A__U11(mark(z0), z1, z2), MARK(z0)) by MARK(U11(U101(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U11(fst(z0), x1, x2)) -> c69(A__U11(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U11(splitAt(z0, z1), x1, x2)) -> c69(A__U11(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U11(U11(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U11(snd(z0), x1, x2)) -> c69(A__U11(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U11(U21(z0, z1), x1, x2)) -> c69(A__U11(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U11(U31(z0, z1), x1, x2)) -> c69(A__U11(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U11(U41(z0, z1), x1, x2)) -> c69(A__U11(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U11(natsFrom(z0), x1, x2)) -> c69(A__U11(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U11(U51(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U11(head(z0), x1, x2)) -> c69(A__U11(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U11(afterNth(z0, z1), x1, x2)) -> c69(A__U11(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U11(U61(z0, z1), x1, x2)) -> c69(A__U11(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U11(U71(z0, z1), x1, x2)) -> c69(A__U11(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U11(U81(z0, z1, z2, z3), x1, x2)) -> c69(A__U11(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U11(U82(z0, z1), x1, x2)) -> c69(A__U11(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U11(U91(z0, z1), x1, x2)) -> c69(A__U11(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U11(and(z0, z1), x1, x2)) -> c69(A__U11(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U11(isNatural(z0), x1, x2)) -> c69(A__U11(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U11(isLNat(z0), x1, x2)) -> c69(A__U11(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U11(isPLNat(z0), x1, x2)) -> c69(A__U11(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U11(tail(z0), x1, x2)) -> c69(A__U11(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U11(take(z0, z1), x1, x2)) -> c69(A__U11(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U11(sel(z0, z1), x1, x2)) -> c69(A__U11(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U11(tt, x1, x2)) -> c69(A__U11(tt, x1, x2), MARK(tt)) MARK(U11(cons(z0, z1), x1, x2)) -> c69(A__U11(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U11(s(z0), x1, x2)) -> c69(A__U11(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U11(pair(z0, z1), x1, x2)) -> c69(A__U11(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) MARK(U11(nil, x1, x2)) -> c69(A__U11(nil, x1, x2), MARK(nil)) MARK(U11(0, x1, x2)) -> c69(A__U11(0, x1, x2), MARK(0)) ---------------------------------------- (144) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt)) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0)) MARK(splitAt(tt, x1)) -> c68(MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(nil, x1)) -> c68(MARK(x1)) MARK(U11(U101(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U11(fst(z0), x1, x2)) -> c69(A__U11(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U11(splitAt(z0, z1), x1, x2)) -> c69(A__U11(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U11(U11(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U11(snd(z0), x1, x2)) -> c69(A__U11(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U11(U21(z0, z1), x1, x2)) -> c69(A__U11(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U11(U31(z0, z1), x1, x2)) -> c69(A__U11(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U11(U41(z0, z1), x1, x2)) -> c69(A__U11(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U11(natsFrom(z0), x1, x2)) -> c69(A__U11(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U11(U51(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U11(head(z0), x1, x2)) -> c69(A__U11(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U11(afterNth(z0, z1), x1, x2)) -> c69(A__U11(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U11(U61(z0, z1), x1, x2)) -> c69(A__U11(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U11(U71(z0, z1), x1, x2)) -> c69(A__U11(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U11(U81(z0, z1, z2, z3), x1, x2)) -> c69(A__U11(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U11(U82(z0, z1), x1, x2)) -> c69(A__U11(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U11(U91(z0, z1), x1, x2)) -> c69(A__U11(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U11(and(z0, z1), x1, x2)) -> c69(A__U11(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U11(isNatural(z0), x1, x2)) -> c69(A__U11(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U11(isLNat(z0), x1, x2)) -> c69(A__U11(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U11(isPLNat(z0), x1, x2)) -> c69(A__U11(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U11(tail(z0), x1, x2)) -> c69(A__U11(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U11(take(z0, z1), x1, x2)) -> c69(A__U11(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U11(sel(z0, z1), x1, x2)) -> c69(A__U11(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U11(tt, x1, x2)) -> c69(A__U11(tt, x1, x2), MARK(tt)) MARK(U11(cons(z0, z1), x1, x2)) -> c69(A__U11(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U11(s(z0), x1, x2)) -> c69(A__U11(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U11(pair(z0, z1), x1, x2)) -> c69(A__U11(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) MARK(U11(nil, x1, x2)) -> c69(A__U11(nil, x1, x2), MARK(nil)) MARK(U11(0, x1, x2)) -> c69(A__U11(0, x1, x2), MARK(0)) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt)) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0)) MARK(splitAt(tt, x1)) -> c68(MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(nil, x1)) -> c68(MARK(x1)) MARK(U11(U101(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U11(fst(z0), x1, x2)) -> c69(A__U11(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U11(splitAt(z0, z1), x1, x2)) -> c69(A__U11(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U11(U11(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U11(snd(z0), x1, x2)) -> c69(A__U11(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U11(U21(z0, z1), x1, x2)) -> c69(A__U11(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U11(U31(z0, z1), x1, x2)) -> c69(A__U11(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U11(U41(z0, z1), x1, x2)) -> c69(A__U11(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U11(natsFrom(z0), x1, x2)) -> c69(A__U11(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U11(U51(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U11(head(z0), x1, x2)) -> c69(A__U11(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U11(afterNth(z0, z1), x1, x2)) -> c69(A__U11(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U11(U61(z0, z1), x1, x2)) -> c69(A__U11(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U11(U71(z0, z1), x1, x2)) -> c69(A__U11(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U11(U81(z0, z1, z2, z3), x1, x2)) -> c69(A__U11(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U11(U82(z0, z1), x1, x2)) -> c69(A__U11(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U11(U91(z0, z1), x1, x2)) -> c69(A__U11(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U11(and(z0, z1), x1, x2)) -> c69(A__U11(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U11(isNatural(z0), x1, x2)) -> c69(A__U11(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U11(isLNat(z0), x1, x2)) -> c69(A__U11(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U11(isPLNat(z0), x1, x2)) -> c69(A__U11(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U11(tail(z0), x1, x2)) -> c69(A__U11(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U11(take(z0, z1), x1, x2)) -> c69(A__U11(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U11(sel(z0, z1), x1, x2)) -> c69(A__U11(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U11(tt, x1, x2)) -> c69(A__U11(tt, x1, x2), MARK(tt)) MARK(U11(cons(z0, z1), x1, x2)) -> c69(A__U11(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U11(s(z0), x1, x2)) -> c69(A__U11(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U11(pair(z0, z1), x1, x2)) -> c69(A__U11(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) MARK(U11(nil, x1, x2)) -> c69(A__U11(nil, x1, x2), MARK(nil)) MARK(U11(0, x1, x2)) -> c69(A__U11(0, x1, x2), MARK(0)) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1, c67_2, c67_1, c68_2, c68_1, c69_2 ---------------------------------------- (145) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: MARK(U11(0, x1, x2)) -> c69(A__U11(0, x1, x2), MARK(0)) MARK(U11(nil, x1, x2)) -> c69(A__U11(nil, x1, x2), MARK(nil)) ---------------------------------------- (146) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt)) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0)) MARK(splitAt(tt, x1)) -> c68(MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(nil, x1)) -> c68(MARK(x1)) MARK(U11(U101(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U11(fst(z0), x1, x2)) -> c69(A__U11(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U11(splitAt(z0, z1), x1, x2)) -> c69(A__U11(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U11(U11(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U11(snd(z0), x1, x2)) -> c69(A__U11(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U11(U21(z0, z1), x1, x2)) -> c69(A__U11(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U11(U31(z0, z1), x1, x2)) -> c69(A__U11(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U11(U41(z0, z1), x1, x2)) -> c69(A__U11(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U11(natsFrom(z0), x1, x2)) -> c69(A__U11(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U11(U51(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U11(head(z0), x1, x2)) -> c69(A__U11(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U11(afterNth(z0, z1), x1, x2)) -> c69(A__U11(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U11(U61(z0, z1), x1, x2)) -> c69(A__U11(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U11(U71(z0, z1), x1, x2)) -> c69(A__U11(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U11(U81(z0, z1, z2, z3), x1, x2)) -> c69(A__U11(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U11(U82(z0, z1), x1, x2)) -> c69(A__U11(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U11(U91(z0, z1), x1, x2)) -> c69(A__U11(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U11(and(z0, z1), x1, x2)) -> c69(A__U11(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U11(isNatural(z0), x1, x2)) -> c69(A__U11(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U11(isLNat(z0), x1, x2)) -> c69(A__U11(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U11(isPLNat(z0), x1, x2)) -> c69(A__U11(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U11(tail(z0), x1, x2)) -> c69(A__U11(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U11(take(z0, z1), x1, x2)) -> c69(A__U11(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U11(sel(z0, z1), x1, x2)) -> c69(A__U11(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U11(tt, x1, x2)) -> c69(A__U11(tt, x1, x2), MARK(tt)) MARK(U11(cons(z0, z1), x1, x2)) -> c69(A__U11(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U11(s(z0), x1, x2)) -> c69(A__U11(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U11(pair(z0, z1), x1, x2)) -> c69(A__U11(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt)) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0)) MARK(splitAt(tt, x1)) -> c68(MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(nil, x1)) -> c68(MARK(x1)) MARK(U11(U101(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U11(fst(z0), x1, x2)) -> c69(A__U11(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U11(splitAt(z0, z1), x1, x2)) -> c69(A__U11(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U11(U11(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U11(snd(z0), x1, x2)) -> c69(A__U11(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U11(U21(z0, z1), x1, x2)) -> c69(A__U11(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U11(U31(z0, z1), x1, x2)) -> c69(A__U11(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U11(U41(z0, z1), x1, x2)) -> c69(A__U11(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U11(natsFrom(z0), x1, x2)) -> c69(A__U11(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U11(U51(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U11(head(z0), x1, x2)) -> c69(A__U11(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U11(afterNth(z0, z1), x1, x2)) -> c69(A__U11(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U11(U61(z0, z1), x1, x2)) -> c69(A__U11(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U11(U71(z0, z1), x1, x2)) -> c69(A__U11(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U11(U81(z0, z1, z2, z3), x1, x2)) -> c69(A__U11(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U11(U82(z0, z1), x1, x2)) -> c69(A__U11(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U11(U91(z0, z1), x1, x2)) -> c69(A__U11(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U11(and(z0, z1), x1, x2)) -> c69(A__U11(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U11(isNatural(z0), x1, x2)) -> c69(A__U11(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U11(isLNat(z0), x1, x2)) -> c69(A__U11(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U11(isPLNat(z0), x1, x2)) -> c69(A__U11(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U11(tail(z0), x1, x2)) -> c69(A__U11(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U11(take(z0, z1), x1, x2)) -> c69(A__U11(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U11(sel(z0, z1), x1, x2)) -> c69(A__U11(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U11(tt, x1, x2)) -> c69(A__U11(tt, x1, x2), MARK(tt)) MARK(U11(cons(z0, z1), x1, x2)) -> c69(A__U11(cons(mark(z0), z1), x1, x2), MARK(cons(z0, z1))) MARK(U11(s(z0), x1, x2)) -> c69(A__U11(s(mark(z0)), x1, x2), MARK(s(z0))) MARK(U11(pair(z0, z1), x1, x2)) -> c69(A__U11(pair(mark(z0), mark(z1)), x1, x2), MARK(pair(z0, z1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1, c67_2, c67_1, c68_2, c68_1, c69_2 ---------------------------------------- (147) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 4 trailing tuple parts ---------------------------------------- (148) Obligation: Complexity Dependency Tuples Problem Rules: a__U101(tt, z0, z1) -> a__fst(a__splitAt(mark(z0), mark(z1))) a__U101(z0, z1, z2) -> U101(z0, z1, z2) a__U11(tt, z0, z1) -> a__snd(a__splitAt(mark(z0), mark(z1))) a__U11(z0, z1, z2) -> U11(z0, z1, z2) a__U21(tt, z0) -> mark(z0) a__U21(z0, z1) -> U21(z0, z1) a__U31(tt, z0) -> mark(z0) a__U31(z0, z1) -> U31(z0, z1) a__U41(tt, z0) -> cons(mark(z0), natsFrom(s(z0))) a__U41(z0, z1) -> U41(z0, z1) a__U51(tt, z0, z1) -> a__head(a__afterNth(mark(z0), mark(z1))) a__U51(z0, z1, z2) -> U51(z0, z1, z2) a__U61(tt, z0) -> mark(z0) a__U61(z0, z1) -> U61(z0, z1) a__U71(tt, z0) -> pair(nil, mark(z0)) a__U71(z0, z1) -> U71(z0, z1) a__U81(tt, z0, z1, z2) -> a__U82(a__splitAt(mark(z0), mark(z2)), z1) a__U81(z0, z1, z2, z3) -> U81(z0, z1, z2, z3) a__U82(pair(z0, z1), z2) -> pair(cons(mark(z2), z0), mark(z1)) a__U82(z0, z1) -> U82(z0, z1) a__U91(tt, z0) -> mark(z0) a__U91(z0, z1) -> U91(z0, z1) a__afterNth(z0, z1) -> a__U11(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__afterNth(z0, z1) -> afterNth(z0, z1) a__and(tt, z0) -> mark(z0) a__and(z0, z1) -> and(z0, z1) a__fst(pair(z0, z1)) -> a__U21(a__and(a__isLNat(z0), isLNat(z1)), z0) a__fst(z0) -> fst(z0) a__head(cons(z0, z1)) -> a__U31(a__and(a__isNatural(z0), isLNat(z1)), z0) a__head(z0) -> head(z0) a__isLNat(nil) -> tt a__isLNat(afterNth(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(cons(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(fst(z0)) -> a__isPLNat(z0) a__isLNat(natsFrom(z0)) -> a__isNatural(z0) a__isLNat(snd(z0)) -> a__isPLNat(z0) a__isLNat(tail(z0)) -> a__isLNat(z0) a__isLNat(take(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isLNat(z0) -> isLNat(z0) a__isNatural(0) -> tt a__isNatural(head(z0)) -> a__isLNat(z0) a__isNatural(s(z0)) -> a__isNatural(z0) a__isNatural(sel(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isNatural(z0) -> isNatural(z0) a__isPLNat(pair(z0, z1)) -> a__and(a__isLNat(z0), isLNat(z1)) a__isPLNat(splitAt(z0, z1)) -> a__and(a__isNatural(z0), isLNat(z1)) a__isPLNat(z0) -> isPLNat(z0) a__natsFrom(z0) -> a__U41(a__isNatural(z0), z0) a__natsFrom(z0) -> natsFrom(z0) a__sel(z0, z1) -> a__U51(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__sel(z0, z1) -> sel(z0, z1) a__snd(pair(z0, z1)) -> a__U61(a__and(a__isLNat(z0), isLNat(z1)), z1) a__snd(z0) -> snd(z0) a__splitAt(0, z0) -> a__U71(a__isLNat(z0), z0) a__splitAt(s(z0), cons(z1, z2)) -> a__U81(a__and(a__isNatural(z0), and(isNatural(z1), isLNat(z2))), z0, z1, z2) a__splitAt(z0, z1) -> splitAt(z0, z1) a__tail(cons(z0, z1)) -> a__U91(a__and(a__isNatural(z0), isLNat(z1)), z1) a__tail(z0) -> tail(z0) a__take(z0, z1) -> a__U101(a__and(a__isNatural(z0), isLNat(z1)), z0, z1) a__take(z0, z1) -> take(z0, z1) mark(U101(z0, z1, z2)) -> a__U101(mark(z0), z1, z2) mark(fst(z0)) -> a__fst(mark(z0)) mark(splitAt(z0, z1)) -> a__splitAt(mark(z0), mark(z1)) mark(U11(z0, z1, z2)) -> a__U11(mark(z0), z1, z2) mark(snd(z0)) -> a__snd(mark(z0)) mark(U21(z0, z1)) -> a__U21(mark(z0), z1) mark(U31(z0, z1)) -> a__U31(mark(z0), z1) mark(U41(z0, z1)) -> a__U41(mark(z0), z1) mark(natsFrom(z0)) -> a__natsFrom(mark(z0)) mark(U51(z0, z1, z2)) -> a__U51(mark(z0), z1, z2) mark(head(z0)) -> a__head(mark(z0)) mark(afterNth(z0, z1)) -> a__afterNth(mark(z0), mark(z1)) mark(U61(z0, z1)) -> a__U61(mark(z0), z1) mark(U71(z0, z1)) -> a__U71(mark(z0), z1) mark(U81(z0, z1, z2, z3)) -> a__U81(mark(z0), z1, z2, z3) mark(U82(z0, z1)) -> a__U82(mark(z0), z1) mark(U91(z0, z1)) -> a__U91(mark(z0), z1) mark(and(z0, z1)) -> a__and(mark(z0), z1) mark(isNatural(z0)) -> a__isNatural(z0) mark(isLNat(z0)) -> a__isLNat(z0) mark(isPLNat(z0)) -> a__isPLNat(z0) mark(tail(z0)) -> a__tail(mark(z0)) mark(take(z0, z1)) -> a__take(mark(z0), mark(z1)) mark(sel(z0, z1)) -> a__sel(mark(z0), mark(z1)) mark(tt) -> tt mark(cons(z0, z1)) -> cons(mark(z0), z1) mark(s(z0)) -> s(mark(z0)) mark(pair(z0, z1)) -> pair(mark(z0), mark(z1)) mark(nil) -> nil mark(0) -> 0 Tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt)) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0)) MARK(splitAt(tt, x1)) -> c68(MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(nil, x1)) -> c68(MARK(x1)) MARK(U11(U101(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U11(fst(z0), x1, x2)) -> c69(A__U11(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U11(splitAt(z0, z1), x1, x2)) -> c69(A__U11(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U11(U11(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U11(snd(z0), x1, x2)) -> c69(A__U11(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U11(U21(z0, z1), x1, x2)) -> c69(A__U11(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U11(U31(z0, z1), x1, x2)) -> c69(A__U11(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U11(U41(z0, z1), x1, x2)) -> c69(A__U11(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U11(natsFrom(z0), x1, x2)) -> c69(A__U11(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U11(U51(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U11(head(z0), x1, x2)) -> c69(A__U11(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U11(afterNth(z0, z1), x1, x2)) -> c69(A__U11(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U11(U61(z0, z1), x1, x2)) -> c69(A__U11(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U11(U71(z0, z1), x1, x2)) -> c69(A__U11(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U11(U81(z0, z1, z2, z3), x1, x2)) -> c69(A__U11(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U11(U82(z0, z1), x1, x2)) -> c69(A__U11(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U11(U91(z0, z1), x1, x2)) -> c69(A__U11(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U11(and(z0, z1), x1, x2)) -> c69(A__U11(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U11(isNatural(z0), x1, x2)) -> c69(A__U11(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U11(isLNat(z0), x1, x2)) -> c69(A__U11(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U11(isPLNat(z0), x1, x2)) -> c69(A__U11(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U11(tail(z0), x1, x2)) -> c69(A__U11(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U11(take(z0, z1), x1, x2)) -> c69(A__U11(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U11(sel(z0, z1), x1, x2)) -> c69(A__U11(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U11(tt, x1, x2)) -> c69(A__U11(tt, x1, x2)) MARK(U11(cons(z0, z1), x1, x2)) -> c69(MARK(cons(z0, z1))) MARK(U11(s(z0), x1, x2)) -> c69(MARK(s(z0))) MARK(U11(pair(z0, z1), x1, x2)) -> c69(MARK(pair(z0, z1))) S tuples: A__U21(tt, z0) -> c6(MARK(z0)) A__U31(tt, z0) -> c8(MARK(z0)) A__U41(tt, z0) -> c10(MARK(z0)) A__U61(tt, z0) -> c15(MARK(z0)) A__U71(tt, z0) -> c17(MARK(z0)) A__U82(pair(z0, z1), z2) -> c22(MARK(z2)) A__U82(pair(z0, z1), z2) -> c23(MARK(z1)) A__U91(tt, z0) -> c25(MARK(z0)) A__AND(tt, z0) -> c29(MARK(z0)) A__ISLNAT(fst(z0)) -> c38(A__ISPLNAT(z0)) A__ISLNAT(natsFrom(z0)) -> c39(A__ISNATURAL(z0)) A__ISLNAT(snd(z0)) -> c40(A__ISPLNAT(z0)) A__ISLNAT(tail(z0)) -> c41(A__ISLNAT(z0)) A__ISNATURAL(head(z0)) -> c45(A__ISLNAT(z0)) A__ISNATURAL(s(z0)) -> c46(A__ISNATURAL(z0)) MARK(snd(z0)) -> c70(A__SND(mark(z0)), MARK(z0)) MARK(U21(z0, z1)) -> c71(A__U21(mark(z0), z1), MARK(z0)) MARK(U31(z0, z1)) -> c72(A__U31(mark(z0), z1), MARK(z0)) MARK(U41(z0, z1)) -> c73(A__U41(mark(z0), z1), MARK(z0)) MARK(natsFrom(z0)) -> c74(A__NATSFROM(mark(z0)), MARK(z0)) MARK(U51(z0, z1, z2)) -> c75(A__U51(mark(z0), z1, z2), MARK(z0)) MARK(head(z0)) -> c76(A__HEAD(mark(z0)), MARK(z0)) MARK(afterNth(z0, z1)) -> c77(A__AFTERNTH(mark(z0), mark(z1)), MARK(z0)) MARK(afterNth(z0, z1)) -> c78(A__AFTERNTH(mark(z0), mark(z1)), MARK(z1)) MARK(U61(z0, z1)) -> c79(A__U61(mark(z0), z1), MARK(z0)) MARK(U71(z0, z1)) -> c80(A__U71(mark(z0), z1), MARK(z0)) MARK(U81(z0, z1, z2, z3)) -> c81(A__U81(mark(z0), z1, z2, z3), MARK(z0)) MARK(U82(z0, z1)) -> c82(A__U82(mark(z0), z1), MARK(z0)) MARK(U91(z0, z1)) -> c83(A__U91(mark(z0), z1), MARK(z0)) MARK(and(z0, z1)) -> c84(A__AND(mark(z0), z1), MARK(z0)) MARK(isNatural(z0)) -> c85(A__ISNATURAL(z0)) MARK(isLNat(z0)) -> c86(A__ISLNAT(z0)) MARK(isPLNat(z0)) -> c87(A__ISPLNAT(z0)) MARK(tail(z0)) -> c88(A__TAIL(mark(z0)), MARK(z0)) MARK(take(z0, z1)) -> c89(A__TAKE(mark(z0), mark(z1)), MARK(z0)) MARK(take(z0, z1)) -> c90(A__TAKE(mark(z0), mark(z1)), MARK(z1)) MARK(sel(z0, z1)) -> c91(A__SEL(mark(z0), mark(z1)), MARK(z0)) MARK(sel(z0, z1)) -> c92(A__SEL(mark(z0), mark(z1)), MARK(z1)) MARK(cons(z0, z1)) -> c94(MARK(z0)) MARK(s(z0)) -> c95(MARK(z0)) MARK(pair(z0, z1)) -> c96(MARK(z0)) MARK(pair(z0, z1)) -> c97(MARK(z1)) A__U101(tt, x0, U101(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, fst(z0)) -> c(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U101(tt, x0, splitAt(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U101(tt, x0, U11(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, snd(z0)) -> c(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U101(tt, x0, U21(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U101(tt, x0, U31(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U101(tt, x0, U41(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U101(tt, x0, natsFrom(z0)) -> c(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U101(tt, x0, U51(z0, z1, z2)) -> c(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U101(tt, x0, head(z0)) -> c(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U101(tt, x0, afterNth(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U101(tt, x0, U61(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U101(tt, x0, U71(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U101(tt, x0, U82(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U101(tt, x0, U91(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U101(tt, x0, and(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U101(tt, x0, isNatural(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U101(tt, x0, isLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U101(tt, x0, isPLNat(z0)) -> c(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U101(tt, x0, tail(z0)) -> c(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U101(tt, x0, take(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U101(tt, x0, sel(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U101(tt, x0, tt) -> c(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U101(tt, x0, cons(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U101(tt, x0, s(z0)) -> c(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U101(tt, x0, pair(z0, z1)) -> c(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U101(tt, x0, nil) -> c(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U101(tt, x0, 0) -> c(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U101(tt, U101(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U101(tt, fst(z0), x1) -> c(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U101(tt, splitAt(z0, z1), x1) -> c(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U101(tt, U11(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U101(tt, snd(z0), x1) -> c(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U101(tt, U21(z0, z1), x1) -> c(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U101(tt, U31(z0, z1), x1) -> c(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U101(tt, U41(z0, z1), x1) -> c(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U101(tt, natsFrom(z0), x1) -> c(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U101(tt, U51(z0, z1, z2), x1) -> c(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U101(tt, head(z0), x1) -> c(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U101(tt, afterNth(z0, z1), x1) -> c(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U101(tt, U61(z0, z1), x1) -> c(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U101(tt, U71(z0, z1), x1) -> c(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U101(tt, U82(z0, z1), x1) -> c(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U101(tt, U91(z0, z1), x1) -> c(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U101(tt, and(z0, z1), x1) -> c(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U101(tt, isNatural(z0), x1) -> c(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U101(tt, isLNat(z0), x1) -> c(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U101(tt, isPLNat(z0), x1) -> c(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U101(tt, tail(z0), x1) -> c(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U101(tt, take(z0, z1), x1) -> c(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U101(tt, sel(z0, z1), x1) -> c(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U101(tt, cons(z0, z1), x1) -> c(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U101(tt, s(z0), x1) -> c(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U101(tt, pair(z0, z1), x1) -> c(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U101(tt, x0, x1) -> c(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U101(tt, tt, x1) -> c(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U101(tt, nil, x1) -> c(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U101(tt, 0, x1) -> c(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U101(tt, x0, U101(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U101(tt, x0, fst(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U101(tt, x0, splitAt(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U101(tt, x0, U11(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U101(tt, x0, snd(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U101(tt, x0, U21(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U101(tt, x0, U31(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U101(tt, x0, U41(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U101(tt, x0, natsFrom(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U101(tt, x0, U51(z0, z1, z2)) -> c1(A__FST(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U101(tt, x0, head(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U101(tt, x0, afterNth(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U101(tt, x0, U61(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U101(tt, x0, U71(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U101(tt, x0, U81(z0, z1, z2, z3)) -> c1(A__FST(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U101(tt, x0, U82(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U101(tt, x0, U91(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U101(tt, x0, and(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U101(tt, x0, isNatural(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U101(tt, x0, isLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U101(tt, x0, isPLNat(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U101(tt, x0, tail(z0)) -> c1(A__FST(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U101(tt, x0, take(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U101(tt, x0, sel(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U101(tt, x0, cons(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U101(tt, x0, s(z0)) -> c1(A__FST(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U101(tt, x0, pair(z0, z1)) -> c1(A__FST(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U101(tt, U101(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, fst(z0), x1) -> c1(A__FST(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U101(tt, splitAt(z0, z1), x1) -> c1(A__FST(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U11(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, snd(z0), x1) -> c1(A__FST(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U101(tt, U21(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U31(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U41(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, natsFrom(z0), x1) -> c1(A__FST(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U101(tt, U51(z0, z1, z2), x1) -> c1(A__FST(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U101(tt, head(z0), x1) -> c1(A__FST(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U101(tt, afterNth(z0, z1), x1) -> c1(A__FST(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U61(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U71(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U81(z0, z1, z2, z3), x1) -> c1(A__FST(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U101(tt, U82(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, U91(z0, z1), x1) -> c1(A__FST(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, and(z0, z1), x1) -> c1(A__FST(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, isNatural(z0), x1) -> c1(A__FST(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U101(tt, isLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, isPLNat(z0), x1) -> c1(A__FST(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U101(tt, tail(z0), x1) -> c1(A__FST(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U101(tt, take(z0, z1), x1) -> c1(A__FST(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, sel(z0, z1), x1) -> c1(A__FST(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, tt, x1) -> c1(A__FST(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U101(tt, cons(z0, z1), x1) -> c1(A__FST(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, s(z0), x1) -> c1(A__FST(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U101(tt, pair(z0, z1), x1) -> c1(A__FST(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U101(tt, nil, x1) -> c1(A__FST(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U101(tt, 0, x1) -> c1(A__FST(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U101(tt, x0, x1) -> c1(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U101(tt, x0, tt) -> c1(A__FST(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U101(tt, x0, nil) -> c1(A__FST(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U101(tt, x0, 0) -> c1(A__FST(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U11(tt, x0, U101(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, fst(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U11(tt, x0, splitAt(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U11(tt, x0, U11(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, snd(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U11(tt, x0, U21(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U11(tt, x0, U31(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U11(tt, x0, U41(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U11(tt, x0, natsFrom(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U11(tt, x0, U51(z0, z1, z2)) -> c3(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U11(tt, x0, head(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U11(tt, x0, afterNth(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U11(tt, x0, U61(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U11(tt, x0, U71(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c3(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U11(tt, x0, U82(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U11(tt, x0, U91(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U11(tt, x0, and(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U11(tt, x0, isNatural(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U11(tt, x0, isLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U11(tt, x0, isPLNat(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U11(tt, x0, tail(z0)) -> c3(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U11(tt, x0, take(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U11(tt, x0, sel(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U11(tt, x0, tt) -> c3(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U11(tt, x0, cons(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U11(tt, x0, s(z0)) -> c3(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U11(tt, x0, pair(z0, z1)) -> c3(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U11(tt, x0, nil) -> c3(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U11(tt, x0, 0) -> c3(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U11(tt, U101(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U11(tt, fst(z0), x1) -> c3(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U11(tt, splitAt(z0, z1), x1) -> c3(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U11(tt, U11(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U11(tt, snd(z0), x1) -> c3(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U11(tt, U21(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U11(tt, U31(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U11(tt, U41(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U11(tt, natsFrom(z0), x1) -> c3(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U11(tt, U51(z0, z1, z2), x1) -> c3(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U11(tt, head(z0), x1) -> c3(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U11(tt, afterNth(z0, z1), x1) -> c3(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U11(tt, U61(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U11(tt, U71(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c3(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U11(tt, U82(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U11(tt, U91(z0, z1), x1) -> c3(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U11(tt, and(z0, z1), x1) -> c3(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U11(tt, isNatural(z0), x1) -> c3(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U11(tt, isLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U11(tt, isPLNat(z0), x1) -> c3(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U11(tt, tail(z0), x1) -> c3(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U11(tt, take(z0, z1), x1) -> c3(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U11(tt, sel(z0, z1), x1) -> c3(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U11(tt, cons(z0, z1), x1) -> c3(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U11(tt, s(z0), x1) -> c3(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U11(tt, pair(z0, z1), x1) -> c3(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U11(tt, x0, x1) -> c3(A__SPLITAT(mark(x0), mark(x1)), MARK(x0)) A__U11(tt, tt, x1) -> c3(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1))) A__U11(tt, nil, x1) -> c3(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1))) A__U11(tt, 0, x1) -> c3(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1))) A__U11(tt, x0, U101(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U11(tt, x0, fst(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__fst(mark(z0)))), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U11(tt, x0, splitAt(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U11(tt, x0, U11(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U11(tt, x0, snd(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__snd(mark(z0)))), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U11(tt, x0, U21(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U21(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U11(tt, x0, U31(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U31(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U11(tt, x0, U41(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U41(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U11(tt, x0, natsFrom(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__natsFrom(mark(z0)))), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U11(tt, x0, U51(z0, z1, z2)) -> c4(A__SND(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2))), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U11(tt, x0, head(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__head(mark(z0)))), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U11(tt, x0, afterNth(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U11(tt, x0, U61(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U61(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U11(tt, x0, U71(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U71(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U11(tt, x0, U81(z0, z1, z2, z3)) -> c4(A__SND(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U11(tt, x0, U82(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U82(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U11(tt, x0, U91(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__U91(mark(z0), z1))), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U11(tt, x0, and(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__and(mark(z0), z1))), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U11(tt, x0, isNatural(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isNatural(z0))), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U11(tt, x0, isLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isLNat(z0))), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U11(tt, x0, isPLNat(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__isPLNat(z0))), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U11(tt, x0, tail(z0)) -> c4(A__SND(a__splitAt(mark(x0), a__tail(mark(z0)))), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U11(tt, x0, take(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__take(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U11(tt, x0, sel(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U11(tt, x0, cons(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), cons(mark(z0), z1))), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U11(tt, x0, s(z0)) -> c4(A__SND(a__splitAt(mark(x0), s(mark(z0)))), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U11(tt, x0, pair(z0, z1)) -> c4(A__SND(a__splitAt(mark(x0), pair(mark(z0), mark(z1)))), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U11(tt, U101(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U101(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, fst(z0), x1) -> c4(A__SND(a__splitAt(a__fst(mark(z0)), mark(x1))), A__SPLITAT(mark(fst(z0)), mark(x1)), MARK(x1)) A__U11(tt, splitAt(z0, z1), x1) -> c4(A__SND(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U11(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U11(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, snd(z0), x1) -> c4(A__SND(a__splitAt(a__snd(mark(z0)), mark(x1))), A__SPLITAT(mark(snd(z0)), mark(x1)), MARK(x1)) A__U11(tt, U21(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U21(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U31(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U31(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U41(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U41(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, natsFrom(z0), x1) -> c4(A__SND(a__splitAt(a__natsFrom(mark(z0)), mark(x1))), A__SPLITAT(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U11(tt, U51(z0, z1, z2), x1) -> c4(A__SND(a__splitAt(a__U51(mark(z0), z1, z2), mark(x1))), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U11(tt, head(z0), x1) -> c4(A__SND(a__splitAt(a__head(mark(z0)), mark(x1))), A__SPLITAT(mark(head(z0)), mark(x1)), MARK(x1)) A__U11(tt, afterNth(z0, z1), x1) -> c4(A__SND(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U61(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U61(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U71(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U71(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U81(z0, z1, z2, z3), x1) -> c4(A__SND(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U11(tt, U82(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U82(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, U91(z0, z1), x1) -> c4(A__SND(a__splitAt(a__U91(mark(z0), z1), mark(x1))), A__SPLITAT(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, and(z0, z1), x1) -> c4(A__SND(a__splitAt(a__and(mark(z0), z1), mark(x1))), A__SPLITAT(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, isNatural(z0), x1) -> c4(A__SND(a__splitAt(a__isNatural(z0), mark(x1))), A__SPLITAT(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U11(tt, isLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isLNat(z0), mark(x1))), A__SPLITAT(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, isPLNat(z0), x1) -> c4(A__SND(a__splitAt(a__isPLNat(z0), mark(x1))), A__SPLITAT(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U11(tt, tail(z0), x1) -> c4(A__SND(a__splitAt(a__tail(mark(z0)), mark(x1))), A__SPLITAT(mark(tail(z0)), mark(x1)), MARK(x1)) A__U11(tt, take(z0, z1), x1) -> c4(A__SND(a__splitAt(a__take(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, sel(z0, z1), x1) -> c4(A__SND(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, tt, x1) -> c4(A__SND(a__splitAt(tt, mark(x1))), A__SPLITAT(mark(tt), mark(x1)), MARK(x1)) A__U11(tt, cons(z0, z1), x1) -> c4(A__SND(a__splitAt(cons(mark(z0), z1), mark(x1))), A__SPLITAT(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, s(z0), x1) -> c4(A__SND(a__splitAt(s(mark(z0)), mark(x1))), A__SPLITAT(mark(s(z0)), mark(x1)), MARK(x1)) A__U11(tt, pair(z0, z1), x1) -> c4(A__SND(a__splitAt(pair(mark(z0), mark(z1)), mark(x1))), A__SPLITAT(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U11(tt, nil, x1) -> c4(A__SND(a__splitAt(nil, mark(x1))), A__SPLITAT(mark(nil), mark(x1)), MARK(x1)) A__U11(tt, 0, x1) -> c4(A__SND(a__splitAt(0, mark(x1))), A__SPLITAT(mark(0), mark(x1)), MARK(x1)) A__U11(tt, x0, x1) -> c4(A__SPLITAT(mark(x0), mark(x1)), MARK(x1)) A__U11(tt, x0, tt) -> c4(A__SND(a__splitAt(mark(x0), tt)), A__SPLITAT(mark(x0), mark(tt))) A__U11(tt, x0, nil) -> c4(A__SND(a__splitAt(mark(x0), nil)), A__SPLITAT(mark(x0), mark(nil))) A__U11(tt, x0, 0) -> c4(A__SND(a__splitAt(mark(x0), 0)), A__SPLITAT(mark(x0), mark(0))) A__U51(tt, x0, x1) -> c12(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, x0, U101(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, fst(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(x0)) A__U51(tt, x0, splitAt(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U51(tt, x0, U11(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, snd(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(x0)) A__U51(tt, x0, U21(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U51(tt, x0, U31(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U51(tt, x0, U41(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U51(tt, x0, natsFrom(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U51(tt, x0, U51(z0, z1, z2)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U51(tt, x0, head(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(x0)) A__U51(tt, x0, afterNth(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U51(tt, x0, U61(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U51(tt, x0, U71(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U51(tt, x0, U82(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U51(tt, x0, U91(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U51(tt, x0, and(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U51(tt, x0, isNatural(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U51(tt, x0, isLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U51(tt, x0, isPLNat(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U51(tt, x0, tail(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(x0)) A__U51(tt, x0, take(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U51(tt, x0, sel(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U51(tt, x0, tt) -> c12(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt)), MARK(x0)) A__U51(tt, x0, cons(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U51(tt, x0, s(z0)) -> c12(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(x0)) A__U51(tt, x0, pair(z0, z1)) -> c12(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U51(tt, x0, nil) -> c12(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil)), MARK(x0)) A__U51(tt, x0, 0) -> c12(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0)), MARK(x0)) A__U51(tt, U101(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(U101(z0, z1, z2))) A__U51(tt, fst(z0), x1) -> c12(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(fst(z0))) A__U51(tt, splitAt(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(splitAt(z0, z1))) A__U51(tt, U11(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(U11(z0, z1, z2))) A__U51(tt, snd(z0), x1) -> c12(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(snd(z0))) A__U51(tt, U21(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(U21(z0, z1))) A__U51(tt, U31(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(U31(z0, z1))) A__U51(tt, U41(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(U41(z0, z1))) A__U51(tt, natsFrom(z0), x1) -> c12(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(natsFrom(z0))) A__U51(tt, U51(z0, z1, z2), x1) -> c12(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(U51(z0, z1, z2))) A__U51(tt, head(z0), x1) -> c12(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(head(z0))) A__U51(tt, afterNth(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(afterNth(z0, z1))) A__U51(tt, U61(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(U61(z0, z1))) A__U51(tt, U71(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(U71(z0, z1))) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c12(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(U81(z0, z1, z2, z3))) A__U51(tt, U82(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(U82(z0, z1))) A__U51(tt, U91(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(U91(z0, z1))) A__U51(tt, and(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(and(z0, z1))) A__U51(tt, isNatural(z0), x1) -> c12(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(isNatural(z0))) A__U51(tt, isLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(isLNat(z0))) A__U51(tt, isPLNat(z0), x1) -> c12(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(isPLNat(z0))) A__U51(tt, tail(z0), x1) -> c12(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(tail(z0))) A__U51(tt, take(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(take(z0, z1))) A__U51(tt, sel(z0, z1), x1) -> c12(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(sel(z0, z1))) A__U51(tt, cons(z0, z1), x1) -> c12(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(cons(z0, z1))) A__U51(tt, s(z0), x1) -> c12(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(s(z0))) A__U51(tt, pair(z0, z1), x1) -> c12(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(pair(z0, z1))) A__U51(tt, x0, x1) -> c12(A__AFTERNTH(mark(x0), mark(x1)), MARK(x0)) A__U51(tt, tt, x1) -> c12(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1))) A__U51(tt, nil, x1) -> c12(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1))) A__U51(tt, 0, x1) -> c12(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1))) A__U51(tt, x0, x1) -> c13(A__HEAD(a__U11(a__and(a__isNatural(mark(x0)), isLNat(mark(x1))), mark(x0), mark(x1))), A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, U101(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U101(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U51(tt, x0, fst(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__fst(mark(z0)))), A__AFTERNTH(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U51(tt, x0, splitAt(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__splitAt(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U51(tt, x0, U11(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U11(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U51(tt, x0, snd(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__snd(mark(z0)))), A__AFTERNTH(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U51(tt, x0, U21(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U21(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U51(tt, x0, U31(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U31(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U51(tt, x0, U41(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U41(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U51(tt, x0, natsFrom(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__natsFrom(mark(z0)))), A__AFTERNTH(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U51(tt, x0, U51(z0, z1, z2)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U51(mark(z0), z1, z2))), A__AFTERNTH(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U51(tt, x0, head(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__head(mark(z0)))), A__AFTERNTH(mark(x0), mark(head(z0))), MARK(head(z0))) A__U51(tt, x0, afterNth(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__afterNth(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U51(tt, x0, U61(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U61(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U51(tt, x0, U71(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U71(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U51(tt, x0, U81(z0, z1, z2, z3)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U81(mark(z0), z1, z2, z3))), A__AFTERNTH(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U51(tt, x0, U82(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U82(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U51(tt, x0, U91(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__U91(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U51(tt, x0, and(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__and(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U51(tt, x0, isNatural(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isNatural(z0))), A__AFTERNTH(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U51(tt, x0, isLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isLNat(z0))), A__AFTERNTH(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U51(tt, x0, isPLNat(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__isPLNat(z0))), A__AFTERNTH(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U51(tt, x0, tail(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), a__tail(mark(z0)))), A__AFTERNTH(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U51(tt, x0, take(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__take(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U51(tt, x0, sel(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), a__sel(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U51(tt, x0, cons(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), cons(mark(z0), z1))), A__AFTERNTH(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U51(tt, x0, s(z0)) -> c13(A__HEAD(a__afterNth(mark(x0), s(mark(z0)))), A__AFTERNTH(mark(x0), mark(s(z0))), MARK(s(z0))) A__U51(tt, x0, pair(z0, z1)) -> c13(A__HEAD(a__afterNth(mark(x0), pair(mark(z0), mark(z1)))), A__AFTERNTH(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U51(tt, U101(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U101(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U101(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, fst(z0), x1) -> c13(A__HEAD(a__afterNth(a__fst(mark(z0)), mark(x1))), A__AFTERNTH(mark(fst(z0)), mark(x1)), MARK(x1)) A__U51(tt, splitAt(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__splitAt(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(splitAt(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U11(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U11(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U11(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, snd(z0), x1) -> c13(A__HEAD(a__afterNth(a__snd(mark(z0)), mark(x1))), A__AFTERNTH(mark(snd(z0)), mark(x1)), MARK(x1)) A__U51(tt, U21(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U21(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U21(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U31(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U31(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U31(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U41(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U41(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U41(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, natsFrom(z0), x1) -> c13(A__HEAD(a__afterNth(a__natsFrom(mark(z0)), mark(x1))), A__AFTERNTH(mark(natsFrom(z0)), mark(x1)), MARK(x1)) A__U51(tt, U51(z0, z1, z2), x1) -> c13(A__HEAD(a__afterNth(a__U51(mark(z0), z1, z2), mark(x1))), A__AFTERNTH(mark(U51(z0, z1, z2)), mark(x1)), MARK(x1)) A__U51(tt, head(z0), x1) -> c13(A__HEAD(a__afterNth(a__head(mark(z0)), mark(x1))), A__AFTERNTH(mark(head(z0)), mark(x1)), MARK(x1)) A__U51(tt, afterNth(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__afterNth(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(afterNth(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U61(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U61(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U61(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U71(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U71(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U71(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U81(z0, z1, z2, z3), x1) -> c13(A__HEAD(a__afterNth(a__U81(mark(z0), z1, z2, z3), mark(x1))), A__AFTERNTH(mark(U81(z0, z1, z2, z3)), mark(x1)), MARK(x1)) A__U51(tt, U82(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U82(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U82(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, U91(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__U91(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(U91(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, and(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__and(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(and(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, isNatural(z0), x1) -> c13(A__HEAD(a__afterNth(a__isNatural(z0), mark(x1))), A__AFTERNTH(mark(isNatural(z0)), mark(x1)), MARK(x1)) A__U51(tt, isLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isLNat(z0), mark(x1))), A__AFTERNTH(mark(isLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, isPLNat(z0), x1) -> c13(A__HEAD(a__afterNth(a__isPLNat(z0), mark(x1))), A__AFTERNTH(mark(isPLNat(z0)), mark(x1)), MARK(x1)) A__U51(tt, tail(z0), x1) -> c13(A__HEAD(a__afterNth(a__tail(mark(z0)), mark(x1))), A__AFTERNTH(mark(tail(z0)), mark(x1)), MARK(x1)) A__U51(tt, take(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__take(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(take(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, sel(z0, z1), x1) -> c13(A__HEAD(a__afterNth(a__sel(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(sel(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, tt, x1) -> c13(A__HEAD(a__afterNth(tt, mark(x1))), A__AFTERNTH(mark(tt), mark(x1)), MARK(x1)) A__U51(tt, cons(z0, z1), x1) -> c13(A__HEAD(a__afterNth(cons(mark(z0), z1), mark(x1))), A__AFTERNTH(mark(cons(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, s(z0), x1) -> c13(A__HEAD(a__afterNth(s(mark(z0)), mark(x1))), A__AFTERNTH(mark(s(z0)), mark(x1)), MARK(x1)) A__U51(tt, pair(z0, z1), x1) -> c13(A__HEAD(a__afterNth(pair(mark(z0), mark(z1)), mark(x1))), A__AFTERNTH(mark(pair(z0, z1)), mark(x1)), MARK(x1)) A__U51(tt, nil, x1) -> c13(A__HEAD(a__afterNth(nil, mark(x1))), A__AFTERNTH(mark(nil), mark(x1)), MARK(x1)) A__U51(tt, 0, x1) -> c13(A__HEAD(a__afterNth(0, mark(x1))), A__AFTERNTH(mark(0), mark(x1)), MARK(x1)) A__U51(tt, x0, x1) -> c13(A__AFTERNTH(mark(x0), mark(x1)), MARK(x1)) A__U51(tt, x0, tt) -> c13(A__HEAD(a__afterNth(mark(x0), tt)), A__AFTERNTH(mark(x0), mark(tt))) A__U51(tt, x0, nil) -> c13(A__HEAD(a__afterNth(mark(x0), nil)), A__AFTERNTH(mark(x0), mark(nil))) A__U51(tt, x0, 0) -> c13(A__HEAD(a__afterNth(mark(x0), 0)), A__AFTERNTH(mark(x0), mark(0))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, fst(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(x0)) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, snd(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(x0)) A__U81(tt, x0, x1, U21(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U31(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U41(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, natsFrom(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(x0)) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c19(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(x0)) A__U81(tt, x0, x1, head(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(x0)) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U61(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U71(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c19(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(x0)) A__U81(tt, x0, x1, U82(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, U91(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, and(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, isNatural(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(x0)) A__U81(tt, x0, x1, isLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, isPLNat(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(x0)) A__U81(tt, x0, x1, tail(z0)) -> c19(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(x0)) A__U81(tt, x0, x1, take(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, sel(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, tt) -> c19(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt)), MARK(x0)) A__U81(tt, x0, x1, cons(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, s(z0)) -> c19(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(x0)) A__U81(tt, x0, x1, pair(z0, z1)) -> c19(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(x0)) A__U81(tt, x0, x1, nil) -> c19(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil)), MARK(x0)) A__U81(tt, x0, x1, 0) -> c19(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0)), MARK(x0)) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(U101(z0, z1, z2))) A__U81(tt, fst(z0), x1, x2) -> c19(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(fst(z0))) A__U81(tt, splitAt(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(splitAt(z0, z1))) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(U11(z0, z1, z2))) A__U81(tt, snd(z0), x1, x2) -> c19(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(snd(z0))) A__U81(tt, U21(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(U21(z0, z1))) A__U81(tt, U31(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(U31(z0, z1))) A__U81(tt, U41(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(U41(z0, z1))) A__U81(tt, natsFrom(z0), x1, x2) -> c19(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(natsFrom(z0))) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c19(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(U51(z0, z1, z2))) A__U81(tt, head(z0), x1, x2) -> c19(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(head(z0))) A__U81(tt, afterNth(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(afterNth(z0, z1))) A__U81(tt, U61(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(U61(z0, z1))) A__U81(tt, U71(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(U71(z0, z1))) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c19(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(U81(z0, z1, z2, z3))) A__U81(tt, U82(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(U82(z0, z1))) A__U81(tt, U91(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(U91(z0, z1))) A__U81(tt, and(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(and(z0, z1))) A__U81(tt, isNatural(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(isNatural(z0))) A__U81(tt, isLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(isLNat(z0))) A__U81(tt, isPLNat(z0), x1, x2) -> c19(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(isPLNat(z0))) A__U81(tt, tail(z0), x1, x2) -> c19(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(tail(z0))) A__U81(tt, take(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(take(z0, z1))) A__U81(tt, sel(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(sel(z0, z1))) A__U81(tt, cons(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(cons(z0, z1))) A__U81(tt, s(z0), x1, x2) -> c19(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(s(z0))) A__U81(tt, pair(z0, z1), x1, x2) -> c19(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(pair(z0, z1))) A__U81(tt, x0, x1, x2) -> c19(A__SPLITAT(mark(x0), mark(x2)), MARK(x0)) A__U81(tt, tt, x1, x2) -> c19(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2))) A__U81(tt, nil, x1, x2) -> c19(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2))) A__U81(tt, 0, x1, x2) -> c19(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2))) A__U81(tt, x0, x1, U101(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U101(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U101(z0, z1, z2))), MARK(U101(z0, z1, z2))) A__U81(tt, x0, x1, fst(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__fst(mark(z0))), x1), A__SPLITAT(mark(x0), mark(fst(z0))), MARK(fst(z0))) A__U81(tt, x0, x1, splitAt(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__splitAt(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(splitAt(z0, z1))), MARK(splitAt(z0, z1))) A__U81(tt, x0, x1, U11(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U11(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U11(z0, z1, z2))), MARK(U11(z0, z1, z2))) A__U81(tt, x0, x1, snd(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__snd(mark(z0))), x1), A__SPLITAT(mark(x0), mark(snd(z0))), MARK(snd(z0))) A__U81(tt, x0, x1, U21(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U21(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U21(z0, z1))), MARK(U21(z0, z1))) A__U81(tt, x0, x1, U31(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U31(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U31(z0, z1))), MARK(U31(z0, z1))) A__U81(tt, x0, x1, U41(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U41(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U41(z0, z1))), MARK(U41(z0, z1))) A__U81(tt, x0, x1, natsFrom(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__natsFrom(mark(z0))), x1), A__SPLITAT(mark(x0), mark(natsFrom(z0))), MARK(natsFrom(z0))) A__U81(tt, x0, x1, U51(z0, z1, z2)) -> c20(A__U82(a__splitAt(mark(x0), a__U51(mark(z0), z1, z2)), x1), A__SPLITAT(mark(x0), mark(U51(z0, z1, z2))), MARK(U51(z0, z1, z2))) A__U81(tt, x0, x1, head(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__head(mark(z0))), x1), A__SPLITAT(mark(x0), mark(head(z0))), MARK(head(z0))) A__U81(tt, x0, x1, afterNth(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__afterNth(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(afterNth(z0, z1))), MARK(afterNth(z0, z1))) A__U81(tt, x0, x1, U61(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U61(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U61(z0, z1))), MARK(U61(z0, z1))) A__U81(tt, x0, x1, U71(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U71(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U71(z0, z1))), MARK(U71(z0, z1))) A__U81(tt, x0, x1, U81(z0, z1, z2, z3)) -> c20(A__U82(a__splitAt(mark(x0), a__U81(mark(z0), z1, z2, z3)), x1), A__SPLITAT(mark(x0), mark(U81(z0, z1, z2, z3))), MARK(U81(z0, z1, z2, z3))) A__U81(tt, x0, x1, U82(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U82(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U82(z0, z1))), MARK(U82(z0, z1))) A__U81(tt, x0, x1, U91(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__U91(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(U91(z0, z1))), MARK(U91(z0, z1))) A__U81(tt, x0, x1, and(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__and(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(and(z0, z1))), MARK(and(z0, z1))) A__U81(tt, x0, x1, isNatural(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isNatural(z0)), x1), A__SPLITAT(mark(x0), mark(isNatural(z0))), MARK(isNatural(z0))) A__U81(tt, x0, x1, isLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isLNat(z0))), MARK(isLNat(z0))) A__U81(tt, x0, x1, isPLNat(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__isPLNat(z0)), x1), A__SPLITAT(mark(x0), mark(isPLNat(z0))), MARK(isPLNat(z0))) A__U81(tt, x0, x1, tail(z0)) -> c20(A__U82(a__splitAt(mark(x0), a__tail(mark(z0))), x1), A__SPLITAT(mark(x0), mark(tail(z0))), MARK(tail(z0))) A__U81(tt, x0, x1, take(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__take(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(take(z0, z1))), MARK(take(z0, z1))) A__U81(tt, x0, x1, sel(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), a__sel(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(sel(z0, z1))), MARK(sel(z0, z1))) A__U81(tt, x0, x1, cons(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), cons(mark(z0), z1)), x1), A__SPLITAT(mark(x0), mark(cons(z0, z1))), MARK(cons(z0, z1))) A__U81(tt, x0, x1, s(z0)) -> c20(A__U82(a__splitAt(mark(x0), s(mark(z0))), x1), A__SPLITAT(mark(x0), mark(s(z0))), MARK(s(z0))) A__U81(tt, x0, x1, pair(z0, z1)) -> c20(A__U82(a__splitAt(mark(x0), pair(mark(z0), mark(z1))), x1), A__SPLITAT(mark(x0), mark(pair(z0, z1))), MARK(pair(z0, z1))) A__U81(tt, U101(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U101(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U101(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, fst(z0), x1, x2) -> c20(A__U82(a__splitAt(a__fst(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(fst(z0)), mark(x2)), MARK(x2)) A__U81(tt, splitAt(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__splitAt(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(splitAt(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U11(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U11(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U11(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, snd(z0), x1, x2) -> c20(A__U82(a__splitAt(a__snd(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(snd(z0)), mark(x2)), MARK(x2)) A__U81(tt, U21(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U21(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U21(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U31(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U31(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U31(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U41(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U41(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U41(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, natsFrom(z0), x1, x2) -> c20(A__U82(a__splitAt(a__natsFrom(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(natsFrom(z0)), mark(x2)), MARK(x2)) A__U81(tt, U51(z0, z1, z2), x1, x2) -> c20(A__U82(a__splitAt(a__U51(mark(z0), z1, z2), mark(x2)), x1), A__SPLITAT(mark(U51(z0, z1, z2)), mark(x2)), MARK(x2)) A__U81(tt, head(z0), x1, x2) -> c20(A__U82(a__splitAt(a__head(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(head(z0)), mark(x2)), MARK(x2)) A__U81(tt, afterNth(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__afterNth(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(afterNth(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U61(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U61(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U61(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U71(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U71(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U71(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U81(z0, z1, z2, z3), x1, x2) -> c20(A__U82(a__splitAt(a__U81(mark(z0), z1, z2, z3), mark(x2)), x1), A__SPLITAT(mark(U81(z0, z1, z2, z3)), mark(x2)), MARK(x2)) A__U81(tt, U82(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U82(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U82(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, U91(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__U91(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(U91(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, and(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__and(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(and(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, isNatural(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isNatural(z0), mark(x2)), x1), A__SPLITAT(mark(isNatural(z0)), mark(x2)), MARK(x2)) A__U81(tt, isLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, isPLNat(z0), x1, x2) -> c20(A__U82(a__splitAt(a__isPLNat(z0), mark(x2)), x1), A__SPLITAT(mark(isPLNat(z0)), mark(x2)), MARK(x2)) A__U81(tt, tail(z0), x1, x2) -> c20(A__U82(a__splitAt(a__tail(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(tail(z0)), mark(x2)), MARK(x2)) A__U81(tt, take(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__take(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(take(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, sel(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(a__sel(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(sel(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, tt, x1, x2) -> c20(A__U82(a__splitAt(tt, mark(x2)), x1), A__SPLITAT(mark(tt), mark(x2)), MARK(x2)) A__U81(tt, cons(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(cons(mark(z0), z1), mark(x2)), x1), A__SPLITAT(mark(cons(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, s(z0), x1, x2) -> c20(A__U82(a__splitAt(s(mark(z0)), mark(x2)), x1), A__SPLITAT(mark(s(z0)), mark(x2)), MARK(x2)) A__U81(tt, pair(z0, z1), x1, x2) -> c20(A__U82(a__splitAt(pair(mark(z0), mark(z1)), mark(x2)), x1), A__SPLITAT(mark(pair(z0, z1)), mark(x2)), MARK(x2)) A__U81(tt, nil, x1, x2) -> c20(A__U82(a__splitAt(nil, mark(x2)), x1), A__SPLITAT(mark(nil), mark(x2)), MARK(x2)) A__U81(tt, 0, x1, x2) -> c20(A__U82(a__splitAt(0, mark(x2)), x1), A__SPLITAT(mark(0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, x2) -> c20(A__SPLITAT(mark(x0), mark(x2)), MARK(x2)) A__U81(tt, x0, x1, tt) -> c20(A__U82(a__splitAt(mark(x0), tt), x1), A__SPLITAT(mark(x0), mark(tt))) A__U81(tt, x0, x1, nil) -> c20(A__U82(a__splitAt(mark(x0), nil), x1), A__SPLITAT(mark(x0), mark(nil))) A__U81(tt, x0, x1, 0) -> c20(A__U82(a__splitAt(mark(x0), 0), x1), A__SPLITAT(mark(x0), mark(0))) A__AFTERNTH(head(z0), x1) -> c27(A__U11(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__AFTERNTH(s(z0), x1) -> c27(A__U11(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__AFTERNTH(sel(z0, z1), x1) -> c27(A__U11(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__AFTERNTH(z0, x1) -> c27(A__U11(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__AFTERNTH(x0, x1) -> c27(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__AFTERNTH(0, x1) -> c27(A__U11(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__FST(pair(afterNth(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), afterNth(z0, z1)), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__FST(pair(cons(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), cons(z0, z1)), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__FST(pair(fst(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), fst(z0)), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__FST(pair(natsFrom(z0), x1)) -> c31(A__U21(a__and(a__isNatural(z0), isLNat(x1)), natsFrom(z0)), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__FST(pair(snd(z0), x1)) -> c31(A__U21(a__and(a__isPLNat(z0), isLNat(x1)), snd(z0)), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__FST(pair(tail(z0), x1)) -> c31(A__U21(a__and(a__isLNat(z0), isLNat(x1)), tail(z0)), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__FST(pair(take(z0, z1), x1)) -> c31(A__U21(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), take(z0, z1)), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__FST(pair(z0, x1)) -> c31(A__U21(a__and(isLNat(z0), isLNat(x1)), z0), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__FST(pair(x0, x1)) -> c31(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__FST(pair(nil, x1)) -> c31(A__U21(a__and(tt, isLNat(x1)), nil), A__AND(a__isLNat(nil), isLNat(x1))) A__HEAD(cons(head(z0), x1)) -> c33(A__U31(a__and(a__isLNat(z0), isLNat(x1)), head(z0)), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__HEAD(cons(s(z0), x1)) -> c33(A__U31(a__and(a__isNatural(z0), isLNat(x1)), s(z0)), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__HEAD(cons(sel(z0, z1), x1)) -> c33(A__U31(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1)), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__HEAD(cons(z0, x1)) -> c33(A__U31(a__and(isNatural(z0), isLNat(x1)), z0), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__HEAD(cons(x0, x1)) -> c33(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__HEAD(cons(0, x1)) -> c33(A__U31(a__and(tt, isLNat(x1)), 0), A__AND(a__isNatural(0), isLNat(x1))) A__ISLNAT(afterNth(head(z0), x1)) -> c36(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(afterNth(s(z0), x1)) -> c36(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(afterNth(sel(z0, z1), x1)) -> c36(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(afterNth(0, x1)) -> c36(A__AND(tt, isLNat(x1))) A__ISLNAT(afterNth(z0, x1)) -> c36(A__ISNATURAL(z0)) A__ISLNAT(cons(head(z0), x1)) -> c37(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(cons(s(z0), x1)) -> c37(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(cons(sel(z0, z1), x1)) -> c37(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(cons(0, x1)) -> c37(A__AND(tt, isLNat(x1))) A__ISLNAT(cons(z0, x1)) -> c37(A__ISNATURAL(z0)) A__ISLNAT(take(head(z0), x1)) -> c42(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISLNAT(take(s(z0), x1)) -> c42(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISLNAT(take(sel(z0, z1), x1)) -> c42(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISLNAT(take(0, x1)) -> c42(A__AND(tt, isLNat(x1))) A__ISLNAT(take(z0, x1)) -> c42(A__ISNATURAL(z0)) A__ISNATURAL(sel(head(z0), x1)) -> c47(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISNATURAL(sel(s(z0), x1)) -> c47(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISNATURAL(sel(sel(z0, z1), x1)) -> c47(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISNATURAL(sel(0, x1)) -> c47(A__AND(tt, isLNat(x1))) A__ISNATURAL(sel(z0, x1)) -> c47(A__ISNATURAL(z0)) A__ISPLNAT(pair(afterNth(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__ISPLNAT(pair(cons(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__ISPLNAT(pair(fst(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(fst(z0))) A__ISPLNAT(pair(natsFrom(z0), x1)) -> c49(A__AND(a__isNatural(z0), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__ISPLNAT(pair(snd(z0), x1)) -> c49(A__AND(a__isPLNat(z0), isLNat(x1)), A__ISLNAT(snd(z0))) A__ISPLNAT(pair(tail(z0), x1)) -> c49(A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(tail(z0))) A__ISPLNAT(pair(take(z0, z1), x1)) -> c49(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__ISPLNAT(pair(nil, x1)) -> c49(A__AND(tt, isLNat(x1))) A__ISPLNAT(pair(z0, x1)) -> c49(A__ISLNAT(z0)) A__ISPLNAT(splitAt(head(z0), x1)) -> c50(A__AND(a__isLNat(z0), isLNat(x1)), A__ISNATURAL(head(z0))) A__ISPLNAT(splitAt(s(z0), x1)) -> c50(A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(s(z0))) A__ISPLNAT(splitAt(sel(z0, z1), x1)) -> c50(A__AND(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__ISPLNAT(splitAt(0, x1)) -> c50(A__AND(tt, isLNat(x1))) A__ISPLNAT(splitAt(z0, x1)) -> c50(A__ISNATURAL(z0)) A__NATSFROM(head(z0)) -> c52(A__U41(a__isLNat(z0), head(z0)), A__ISNATURAL(head(z0))) A__NATSFROM(s(z0)) -> c52(A__U41(a__isNatural(z0), s(z0)), A__ISNATURAL(s(z0))) A__NATSFROM(sel(z0, z1)) -> c52(A__U41(a__and(a__isNatural(z0), isLNat(z1)), sel(z0, z1)), A__ISNATURAL(sel(z0, z1))) A__NATSFROM(0) -> c52(A__U41(tt, 0)) A__NATSFROM(z0) -> c52(A__ISNATURAL(z0)) A__SEL(head(z0), x1) -> c54(A__U51(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__SEL(s(z0), x1) -> c54(A__U51(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__SEL(sel(z0, z1), x1) -> c54(A__U51(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__SEL(z0, x1) -> c54(A__U51(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__SEL(x0, x1) -> c54(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__SEL(0, x1) -> c54(A__U51(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) A__SND(pair(afterNth(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(afterNth(z0, z1)), isLNat(x1)), A__ISLNAT(afterNth(z0, z1))) A__SND(pair(cons(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(cons(z0, z1)), isLNat(x1)), A__ISLNAT(cons(z0, z1))) A__SND(pair(fst(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(fst(z0)), isLNat(x1)), A__ISLNAT(fst(z0))) A__SND(pair(natsFrom(z0), x1)) -> c56(A__U61(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isLNat(natsFrom(z0)), isLNat(x1)), A__ISLNAT(natsFrom(z0))) A__SND(pair(snd(z0), x1)) -> c56(A__U61(a__and(a__isPLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(snd(z0)), isLNat(x1)), A__ISLNAT(snd(z0))) A__SND(pair(tail(z0), x1)) -> c56(A__U61(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(tail(z0)), isLNat(x1)), A__ISLNAT(tail(z0))) A__SND(pair(take(z0, z1), x1)) -> c56(A__U61(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isLNat(take(z0, z1)), isLNat(x1)), A__ISLNAT(take(z0, z1))) A__SND(pair(z0, x1)) -> c56(A__U61(a__and(isLNat(z0), isLNat(x1)), x1), A__AND(a__isLNat(z0), isLNat(x1)), A__ISLNAT(z0)) A__SND(pair(x0, x1)) -> c56(A__AND(a__isLNat(x0), isLNat(x1)), A__ISLNAT(x0)) A__SND(pair(nil, x1)) -> c56(A__U61(a__and(tt, isLNat(x1)), x1), A__AND(a__isLNat(nil), isLNat(x1))) A__SPLITAT(0, afterNth(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), afterNth(z0, z1)), A__ISLNAT(afterNth(z0, z1))) A__SPLITAT(0, cons(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), cons(z0, z1)), A__ISLNAT(cons(z0, z1))) A__SPLITAT(0, fst(z0)) -> c58(A__U71(a__isPLNat(z0), fst(z0)), A__ISLNAT(fst(z0))) A__SPLITAT(0, natsFrom(z0)) -> c58(A__U71(a__isNatural(z0), natsFrom(z0)), A__ISLNAT(natsFrom(z0))) A__SPLITAT(0, snd(z0)) -> c58(A__U71(a__isPLNat(z0), snd(z0)), A__ISLNAT(snd(z0))) A__SPLITAT(0, tail(z0)) -> c58(A__U71(a__isLNat(z0), tail(z0)), A__ISLNAT(tail(z0))) A__SPLITAT(0, take(z0, z1)) -> c58(A__U71(a__and(a__isNatural(z0), isLNat(z1)), take(z0, z1)), A__ISLNAT(take(z0, z1))) A__SPLITAT(0, nil) -> c58(A__U71(tt, nil)) A__SPLITAT(0, z0) -> c58(A__ISLNAT(z0)) A__SPLITAT(s(head(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isLNat(z0), and(isNatural(x1), isLNat(x2))), head(z0), x1, x2), A__AND(a__isNatural(head(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(head(z0))) A__SPLITAT(s(s(z0)), cons(x1, x2)) -> c59(A__U81(a__and(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), s(z0), x1, x2), A__AND(a__isNatural(s(z0)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(s(z0))) A__SPLITAT(s(sel(z0, z1)), cons(x1, x2)) -> c59(A__U81(a__and(a__and(a__isNatural(z0), isLNat(z1)), and(isNatural(x1), isLNat(x2))), sel(z0, z1), x1, x2), A__AND(a__isNatural(sel(z0, z1)), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(sel(z0, z1))) A__SPLITAT(s(z0), cons(x1, x2)) -> c59(A__U81(a__and(isNatural(z0), and(isNatural(x1), isLNat(x2))), z0, x1, x2), A__AND(a__isNatural(z0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(z0)) A__SPLITAT(s(x0), cons(x1, x2)) -> c59(A__AND(a__isNatural(x0), and(isNatural(x1), isLNat(x2))), A__ISNATURAL(x0)) A__SPLITAT(s(0), cons(x1, x2)) -> c59(A__U81(a__and(tt, and(isNatural(x1), isLNat(x2))), 0, x1, x2), A__AND(a__isNatural(0), and(isNatural(x1), isLNat(x2)))) A__TAIL(cons(head(z0), x1)) -> c61(A__U91(a__and(a__isLNat(z0), isLNat(x1)), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAIL(cons(s(z0), x1)) -> c61(A__U91(a__and(a__isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAIL(cons(sel(z0, z1), x1)) -> c61(A__U91(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAIL(cons(z0, x1)) -> c61(A__U91(a__and(isNatural(z0), isLNat(x1)), x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAIL(cons(x0, x1)) -> c61(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAIL(cons(0, x1)) -> c61(A__U91(a__and(tt, isLNat(x1)), x1), A__AND(a__isNatural(0), isLNat(x1))) A__TAKE(head(z0), x1) -> c63(A__U101(a__and(a__isLNat(z0), isLNat(x1)), head(z0), x1), A__AND(a__isNatural(head(z0)), isLNat(x1)), A__ISNATURAL(head(z0))) A__TAKE(s(z0), x1) -> c63(A__U101(a__and(a__isNatural(z0), isLNat(x1)), s(z0), x1), A__AND(a__isNatural(s(z0)), isLNat(x1)), A__ISNATURAL(s(z0))) A__TAKE(sel(z0, z1), x1) -> c63(A__U101(a__and(a__and(a__isNatural(z0), isLNat(z1)), isLNat(x1)), sel(z0, z1), x1), A__AND(a__isNatural(sel(z0, z1)), isLNat(x1)), A__ISNATURAL(sel(z0, z1))) A__TAKE(z0, x1) -> c63(A__U101(a__and(isNatural(z0), isLNat(x1)), z0, x1), A__AND(a__isNatural(z0), isLNat(x1)), A__ISNATURAL(z0)) A__TAKE(x0, x1) -> c63(A__AND(a__isNatural(x0), isLNat(x1)), A__ISNATURAL(x0)) A__TAKE(0, x1) -> c63(A__U101(a__and(tt, isLNat(x1)), 0, x1), A__AND(a__isNatural(0), isLNat(x1))) MARK(U101(U101(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U101(fst(z0), x1, x2)) -> c65(A__U101(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U101(splitAt(z0, z1), x1, x2)) -> c65(A__U101(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U101(U11(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U101(snd(z0), x1, x2)) -> c65(A__U101(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U101(U21(z0, z1), x1, x2)) -> c65(A__U101(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U101(U31(z0, z1), x1, x2)) -> c65(A__U101(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U101(U41(z0, z1), x1, x2)) -> c65(A__U101(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U101(natsFrom(z0), x1, x2)) -> c65(A__U101(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U101(U51(z0, z1, z2), x1, x2)) -> c65(A__U101(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U101(head(z0), x1, x2)) -> c65(A__U101(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U101(afterNth(z0, z1), x1, x2)) -> c65(A__U101(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U101(U61(z0, z1), x1, x2)) -> c65(A__U101(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U101(U71(z0, z1), x1, x2)) -> c65(A__U101(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U101(U81(z0, z1, z2, z3), x1, x2)) -> c65(A__U101(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U101(U82(z0, z1), x1, x2)) -> c65(A__U101(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U101(U91(z0, z1), x1, x2)) -> c65(A__U101(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U101(and(z0, z1), x1, x2)) -> c65(A__U101(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U101(isNatural(z0), x1, x2)) -> c65(A__U101(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U101(isLNat(z0), x1, x2)) -> c65(A__U101(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U101(isPLNat(z0), x1, x2)) -> c65(A__U101(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U101(tail(z0), x1, x2)) -> c65(A__U101(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U101(take(z0, z1), x1, x2)) -> c65(A__U101(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U101(sel(z0, z1), x1, x2)) -> c65(A__U101(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U101(tt, x1, x2)) -> c65(A__U101(tt, x1, x2)) MARK(U101(cons(z0, z1), x1, x2)) -> c65(MARK(cons(z0, z1))) MARK(U101(s(z0), x1, x2)) -> c65(MARK(s(z0))) MARK(U101(pair(z0, z1), x1, x2)) -> c65(MARK(pair(z0, z1))) MARK(fst(U101(z0, z1, z2))) -> c66(A__FST(a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(fst(fst(z0))) -> c66(A__FST(a__fst(mark(z0))), MARK(fst(z0))) MARK(fst(splitAt(z0, z1))) -> c66(A__FST(a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(fst(U11(z0, z1, z2))) -> c66(A__FST(a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(fst(snd(z0))) -> c66(A__FST(a__snd(mark(z0))), MARK(snd(z0))) MARK(fst(U21(z0, z1))) -> c66(A__FST(a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(fst(U31(z0, z1))) -> c66(A__FST(a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(fst(U41(z0, z1))) -> c66(A__FST(a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(fst(natsFrom(z0))) -> c66(A__FST(a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(fst(U51(z0, z1, z2))) -> c66(A__FST(a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(fst(head(z0))) -> c66(A__FST(a__head(mark(z0))), MARK(head(z0))) MARK(fst(afterNth(z0, z1))) -> c66(A__FST(a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(fst(U61(z0, z1))) -> c66(A__FST(a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(fst(U71(z0, z1))) -> c66(A__FST(a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(fst(U81(z0, z1, z2, z3))) -> c66(A__FST(a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(fst(U82(z0, z1))) -> c66(A__FST(a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(fst(U91(z0, z1))) -> c66(A__FST(a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(fst(and(z0, z1))) -> c66(A__FST(a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(fst(isNatural(z0))) -> c66(A__FST(a__isNatural(z0)), MARK(isNatural(z0))) MARK(fst(isLNat(z0))) -> c66(A__FST(a__isLNat(z0)), MARK(isLNat(z0))) MARK(fst(isPLNat(z0))) -> c66(A__FST(a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(fst(tail(z0))) -> c66(A__FST(a__tail(mark(z0))), MARK(tail(z0))) MARK(fst(take(z0, z1))) -> c66(A__FST(a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(fst(sel(z0, z1))) -> c66(A__FST(a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(fst(pair(z0, z1))) -> c66(A__FST(pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(fst(cons(z0, z1))) -> c66(MARK(cons(z0, z1))) MARK(fst(s(z0))) -> c66(MARK(s(z0))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, fst(z0))) -> c67(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(x0)) MARK(splitAt(x0, splitAt(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U11(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, snd(z0))) -> c67(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(x0)) MARK(splitAt(x0, U21(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U31(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U41(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, natsFrom(z0))) -> c67(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(x0)) MARK(splitAt(x0, U51(z0, z1, z2))) -> c67(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(x0)) MARK(splitAt(x0, head(z0))) -> c67(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(x0)) MARK(splitAt(x0, afterNth(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, U61(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U71(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c67(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(x0)) MARK(splitAt(x0, U82(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, U91(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, and(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, isNatural(z0))) -> c67(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(x0)) MARK(splitAt(x0, isLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(x0)) MARK(splitAt(x0, isPLNat(z0))) -> c67(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(x0)) MARK(splitAt(x0, tail(z0))) -> c67(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(x0)) MARK(splitAt(x0, take(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, sel(z0, z1))) -> c67(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, tt)) -> c67(A__SPLITAT(mark(x0), tt), MARK(x0)) MARK(splitAt(x0, cons(z0, z1))) -> c67(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(x0)) MARK(splitAt(x0, s(z0))) -> c67(A__SPLITAT(mark(x0), s(mark(z0))), MARK(x0)) MARK(splitAt(x0, pair(z0, z1))) -> c67(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(x0)) MARK(splitAt(x0, nil)) -> c67(A__SPLITAT(mark(x0), nil), MARK(x0)) MARK(splitAt(x0, 0)) -> c67(A__SPLITAT(mark(x0), 0), MARK(x0)) MARK(splitAt(U101(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(U101(z0, z1, z2))) MARK(splitAt(fst(z0), x1)) -> c67(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(fst(z0))) MARK(splitAt(splitAt(z0, z1), x1)) -> c67(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(splitAt(z0, z1))) MARK(splitAt(U11(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(U11(z0, z1, z2))) MARK(splitAt(snd(z0), x1)) -> c67(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(snd(z0))) MARK(splitAt(U21(z0, z1), x1)) -> c67(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(U21(z0, z1))) MARK(splitAt(U31(z0, z1), x1)) -> c67(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(U31(z0, z1))) MARK(splitAt(U41(z0, z1), x1)) -> c67(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(U41(z0, z1))) MARK(splitAt(natsFrom(z0), x1)) -> c67(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(natsFrom(z0))) MARK(splitAt(U51(z0, z1, z2), x1)) -> c67(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(U51(z0, z1, z2))) MARK(splitAt(head(z0), x1)) -> c67(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(head(z0))) MARK(splitAt(afterNth(z0, z1), x1)) -> c67(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(afterNth(z0, z1))) MARK(splitAt(U61(z0, z1), x1)) -> c67(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(U61(z0, z1))) MARK(splitAt(U71(z0, z1), x1)) -> c67(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(U71(z0, z1))) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c67(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(U82(z0, z1), x1)) -> c67(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(U82(z0, z1))) MARK(splitAt(U91(z0, z1), x1)) -> c67(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(U91(z0, z1))) MARK(splitAt(and(z0, z1), x1)) -> c67(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(and(z0, z1))) MARK(splitAt(isNatural(z0), x1)) -> c67(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(isNatural(z0))) MARK(splitAt(isLNat(z0), x1)) -> c67(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(isLNat(z0))) MARK(splitAt(isPLNat(z0), x1)) -> c67(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(isPLNat(z0))) MARK(splitAt(tail(z0), x1)) -> c67(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(tail(z0))) MARK(splitAt(take(z0, z1), x1)) -> c67(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(take(z0, z1))) MARK(splitAt(sel(z0, z1), x1)) -> c67(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(sel(z0, z1))) MARK(splitAt(s(z0), x1)) -> c67(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(s(z0))) MARK(splitAt(cons(z0, z1), x1)) -> c67(MARK(cons(z0, z1))) MARK(splitAt(pair(z0, z1), x1)) -> c67(MARK(pair(z0, z1))) MARK(splitAt(0, x1)) -> c67(A__SPLITAT(0, mark(x1))) MARK(splitAt(x0, U101(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U101(mark(z0), z1, z2)), MARK(U101(z0, z1, z2))) MARK(splitAt(x0, fst(z0))) -> c68(A__SPLITAT(mark(x0), a__fst(mark(z0))), MARK(fst(z0))) MARK(splitAt(x0, splitAt(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__splitAt(mark(z0), mark(z1))), MARK(splitAt(z0, z1))) MARK(splitAt(x0, U11(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U11(mark(z0), z1, z2)), MARK(U11(z0, z1, z2))) MARK(splitAt(x0, snd(z0))) -> c68(A__SPLITAT(mark(x0), a__snd(mark(z0))), MARK(snd(z0))) MARK(splitAt(x0, U21(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U21(mark(z0), z1)), MARK(U21(z0, z1))) MARK(splitAt(x0, U31(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U31(mark(z0), z1)), MARK(U31(z0, z1))) MARK(splitAt(x0, U41(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U41(mark(z0), z1)), MARK(U41(z0, z1))) MARK(splitAt(x0, natsFrom(z0))) -> c68(A__SPLITAT(mark(x0), a__natsFrom(mark(z0))), MARK(natsFrom(z0))) MARK(splitAt(x0, U51(z0, z1, z2))) -> c68(A__SPLITAT(mark(x0), a__U51(mark(z0), z1, z2)), MARK(U51(z0, z1, z2))) MARK(splitAt(x0, head(z0))) -> c68(A__SPLITAT(mark(x0), a__head(mark(z0))), MARK(head(z0))) MARK(splitAt(x0, afterNth(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__afterNth(mark(z0), mark(z1))), MARK(afterNth(z0, z1))) MARK(splitAt(x0, U61(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U61(mark(z0), z1)), MARK(U61(z0, z1))) MARK(splitAt(x0, U71(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U71(mark(z0), z1)), MARK(U71(z0, z1))) MARK(splitAt(x0, U81(z0, z1, z2, z3))) -> c68(A__SPLITAT(mark(x0), a__U81(mark(z0), z1, z2, z3)), MARK(U81(z0, z1, z2, z3))) MARK(splitAt(x0, U82(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U82(mark(z0), z1)), MARK(U82(z0, z1))) MARK(splitAt(x0, U91(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__U91(mark(z0), z1)), MARK(U91(z0, z1))) MARK(splitAt(x0, and(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__and(mark(z0), z1)), MARK(and(z0, z1))) MARK(splitAt(x0, isNatural(z0))) -> c68(A__SPLITAT(mark(x0), a__isNatural(z0)), MARK(isNatural(z0))) MARK(splitAt(x0, isLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isLNat(z0)), MARK(isLNat(z0))) MARK(splitAt(x0, isPLNat(z0))) -> c68(A__SPLITAT(mark(x0), a__isPLNat(z0)), MARK(isPLNat(z0))) MARK(splitAt(x0, tail(z0))) -> c68(A__SPLITAT(mark(x0), a__tail(mark(z0))), MARK(tail(z0))) MARK(splitAt(x0, take(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__take(mark(z0), mark(z1))), MARK(take(z0, z1))) MARK(splitAt(x0, sel(z0, z1))) -> c68(A__SPLITAT(mark(x0), a__sel(mark(z0), mark(z1))), MARK(sel(z0, z1))) MARK(splitAt(x0, cons(z0, z1))) -> c68(A__SPLITAT(mark(x0), cons(mark(z0), z1)), MARK(cons(z0, z1))) MARK(splitAt(x0, s(z0))) -> c68(A__SPLITAT(mark(x0), s(mark(z0))), MARK(s(z0))) MARK(splitAt(x0, pair(z0, z1))) -> c68(A__SPLITAT(mark(x0), pair(mark(z0), mark(z1))), MARK(pair(z0, z1))) MARK(splitAt(U101(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U101(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(fst(z0), x1)) -> c68(A__SPLITAT(a__fst(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(splitAt(z0, z1), x1)) -> c68(A__SPLITAT(a__splitAt(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U11(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U11(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(snd(z0), x1)) -> c68(A__SPLITAT(a__snd(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U21(z0, z1), x1)) -> c68(A__SPLITAT(a__U21(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U31(z0, z1), x1)) -> c68(A__SPLITAT(a__U31(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U41(z0, z1), x1)) -> c68(A__SPLITAT(a__U41(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(natsFrom(z0), x1)) -> c68(A__SPLITAT(a__natsFrom(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(U51(z0, z1, z2), x1)) -> c68(A__SPLITAT(a__U51(mark(z0), z1, z2), mark(x1)), MARK(x1)) MARK(splitAt(head(z0), x1)) -> c68(A__SPLITAT(a__head(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(afterNth(z0, z1), x1)) -> c68(A__SPLITAT(a__afterNth(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(U61(z0, z1), x1)) -> c68(A__SPLITAT(a__U61(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U71(z0, z1), x1)) -> c68(A__SPLITAT(a__U71(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U81(z0, z1, z2, z3), x1)) -> c68(A__SPLITAT(a__U81(mark(z0), z1, z2, z3), mark(x1)), MARK(x1)) MARK(splitAt(U82(z0, z1), x1)) -> c68(A__SPLITAT(a__U82(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(U91(z0, z1), x1)) -> c68(A__SPLITAT(a__U91(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(and(z0, z1), x1)) -> c68(A__SPLITAT(a__and(mark(z0), z1), mark(x1)), MARK(x1)) MARK(splitAt(isNatural(z0), x1)) -> c68(A__SPLITAT(a__isNatural(z0), mark(x1)), MARK(x1)) MARK(splitAt(isLNat(z0), x1)) -> c68(A__SPLITAT(a__isLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(isPLNat(z0), x1)) -> c68(A__SPLITAT(a__isPLNat(z0), mark(x1)), MARK(x1)) MARK(splitAt(tail(z0), x1)) -> c68(A__SPLITAT(a__tail(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(take(z0, z1), x1)) -> c68(A__SPLITAT(a__take(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(sel(z0, z1), x1)) -> c68(A__SPLITAT(a__sel(mark(z0), mark(z1)), mark(x1)), MARK(x1)) MARK(splitAt(s(z0), x1)) -> c68(A__SPLITAT(s(mark(z0)), mark(x1)), MARK(x1)) MARK(splitAt(0, x1)) -> c68(A__SPLITAT(0, mark(x1)), MARK(x1)) MARK(splitAt(x0, tt)) -> c68(A__SPLITAT(mark(x0), tt)) MARK(splitAt(x0, nil)) -> c68(A__SPLITAT(mark(x0), nil)) MARK(splitAt(x0, 0)) -> c68(A__SPLITAT(mark(x0), 0)) MARK(splitAt(tt, x1)) -> c68(MARK(x1)) MARK(splitAt(cons(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(pair(z0, z1), x1)) -> c68(MARK(x1)) MARK(splitAt(nil, x1)) -> c68(MARK(x1)) MARK(U11(U101(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U101(mark(z0), z1, z2), x1, x2), MARK(U101(z0, z1, z2))) MARK(U11(fst(z0), x1, x2)) -> c69(A__U11(a__fst(mark(z0)), x1, x2), MARK(fst(z0))) MARK(U11(splitAt(z0, z1), x1, x2)) -> c69(A__U11(a__splitAt(mark(z0), mark(z1)), x1, x2), MARK(splitAt(z0, z1))) MARK(U11(U11(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U11(mark(z0), z1, z2), x1, x2), MARK(U11(z0, z1, z2))) MARK(U11(snd(z0), x1, x2)) -> c69(A__U11(a__snd(mark(z0)), x1, x2), MARK(snd(z0))) MARK(U11(U21(z0, z1), x1, x2)) -> c69(A__U11(a__U21(mark(z0), z1), x1, x2), MARK(U21(z0, z1))) MARK(U11(U31(z0, z1), x1, x2)) -> c69(A__U11(a__U31(mark(z0), z1), x1, x2), MARK(U31(z0, z1))) MARK(U11(U41(z0, z1), x1, x2)) -> c69(A__U11(a__U41(mark(z0), z1), x1, x2), MARK(U41(z0, z1))) MARK(U11(natsFrom(z0), x1, x2)) -> c69(A__U11(a__natsFrom(mark(z0)), x1, x2), MARK(natsFrom(z0))) MARK(U11(U51(z0, z1, z2), x1, x2)) -> c69(A__U11(a__U51(mark(z0), z1, z2), x1, x2), MARK(U51(z0, z1, z2))) MARK(U11(head(z0), x1, x2)) -> c69(A__U11(a__head(mark(z0)), x1, x2), MARK(head(z0))) MARK(U11(afterNth(z0, z1), x1, x2)) -> c69(A__U11(a__afterNth(mark(z0), mark(z1)), x1, x2), MARK(afterNth(z0, z1))) MARK(U11(U61(z0, z1), x1, x2)) -> c69(A__U11(a__U61(mark(z0), z1), x1, x2), MARK(U61(z0, z1))) MARK(U11(U71(z0, z1), x1, x2)) -> c69(A__U11(a__U71(mark(z0), z1), x1, x2), MARK(U71(z0, z1))) MARK(U11(U81(z0, z1, z2, z3), x1, x2)) -> c69(A__U11(a__U81(mark(z0), z1, z2, z3), x1, x2), MARK(U81(z0, z1, z2, z3))) MARK(U11(U82(z0, z1), x1, x2)) -> c69(A__U11(a__U82(mark(z0), z1), x1, x2), MARK(U82(z0, z1))) MARK(U11(U91(z0, z1), x1, x2)) -> c69(A__U11(a__U91(mark(z0), z1), x1, x2), MARK(U91(z0, z1))) MARK(U11(and(z0, z1), x1, x2)) -> c69(A__U11(a__and(mark(z0), z1), x1, x2), MARK(and(z0, z1))) MARK(U11(isNatural(z0), x1, x2)) -> c69(A__U11(a__isNatural(z0), x1, x2), MARK(isNatural(z0))) MARK(U11(isLNat(z0), x1, x2)) -> c69(A__U11(a__isLNat(z0), x1, x2), MARK(isLNat(z0))) MARK(U11(isPLNat(z0), x1, x2)) -> c69(A__U11(a__isPLNat(z0), x1, x2), MARK(isPLNat(z0))) MARK(U11(tail(z0), x1, x2)) -> c69(A__U11(a__tail(mark(z0)), x1, x2), MARK(tail(z0))) MARK(U11(take(z0, z1), x1, x2)) -> c69(A__U11(a__take(mark(z0), mark(z1)), x1, x2), MARK(take(z0, z1))) MARK(U11(sel(z0, z1), x1, x2)) -> c69(A__U11(a__sel(mark(z0), mark(z1)), x1, x2), MARK(sel(z0, z1))) MARK(U11(tt, x1, x2)) -> c69(A__U11(tt, x1, x2)) MARK(U11(cons(z0, z1), x1, x2)) -> c69(MARK(cons(z0, z1))) MARK(U11(s(z0), x1, x2)) -> c69(MARK(s(z0))) MARK(U11(pair(z0, z1), x1, x2)) -> c69(MARK(pair(z0, z1))) K tuples:none Defined Rule Symbols: a__U101_3, a__U11_3, a__U21_2, a__U31_2, a__U41_2, a__U51_3, a__U61_2, a__U71_2, a__U81_4, a__U82_2, a__U91_2, a__afterNth_2, a__and_2, a__fst_1, a__head_1, a__isLNat_1, a__isNatural_1, a__isPLNat_1, a__natsFrom_1, a__sel_2, a__snd_1, a__splitAt_2, a__tail_1, a__take_2, mark_1 Defined Pair Symbols: A__U21_2, A__U31_2, A__U41_2, A__U61_2, A__U71_2, A__U82_2, A__U91_2, A__AND_2, A__ISLNAT_1, A__ISNATURAL_1, MARK_1, A__U101_3, A__U11_3, A__U51_3, A__U81_4, A__AFTERNTH_2, A__FST_1, A__HEAD_1, A__ISPLNAT_1, A__NATSFROM_1, A__SEL_2, A__SND_1, A__SPLITAT_2, A__TAIL_1, A__TAKE_2 Compound Symbols: c6_1, c8_1, c10_1, c15_1, c17_1, c22_1, c23_1, c25_1, c29_1, c38_1, c39_1, c40_1, c41_1, c45_1, c46_1, c70_2, c71_2, c72_2, c73_2, c74_2, c75_2, c76_2, c77_2, c78_2, c79_2, c80_2, c81_2, c82_2, c83_2, c84_2, c85_1, c86_1, c87_1, c88_2, c89_2, c90_2, c91_2, c92_2, c94_1, c95_1, c96_1, c97_1, c_3, c_2, c1_3, c1_2, c3_3, c3_2, c4_3, c4_2, c12_3, c12_2, c13_3, c13_2, c19_3, c19_2, c20_3, c20_2, c27_3, c27_2, c31_3, c31_2, c33_3, c33_2, c36_2, c36_1, c37_2, c37_1, c42_2, c42_1, c47_2, c47_1, c49_2, c49_1, c50_2, c50_1, c52_2, c52_1, c54_3, c54_2, c56_3, c56_2, c58_2, c58_1, c59_3, c59_2, c61_3, c61_2, c63_3, c63_2, c65_2, c65_1, c66_2, c66_1, c67_2, c67_1, c68_2, c68_1, c69_2, c69_1